Acabo de crear el núcleo Arduino 1.0 como una biblioteca estática en Eclipse y usando Windows 7. Una cosa que no mencionaste es que también debes obtener pins_arduino.h de algún lugar. Para el Uno, que usa el ATMega328P, creo que creo que quieres la variante "estándar".
- Copié en el proyecto de biblioteca estática todos los archivos de:
hardware \ arduino \ cores \ arduino
- También copié en el proyecto de biblioteca estática el archivo pins_arduino.h de:
hardware \ arduino \ variantes \ estándar
¿Podría ser que acaba de obtener el archivo pins_arduino.h incorrecto para su chip de destino? También está seguro de que tiene la velocidad correcta de chip y reloj seleccionada en Configuración del proyecto = > AVR = > ¿Hardware de destino?
Eliminaré el proyecto de la biblioteca estática de Arduino Core, comenzaré de nuevo descargando el archivo zip Arduino 1.0 de arduino.cc y crearé un nuevo proyecto desde cero. Acabo de rehacer el proceso un par de veces para asegurarme de que no haya problemas y es bastante rápido aplicar la configuración del proyecto una vez que lo haya hecho una vez (me tomó < 5 minutos la segunda vez).
Editar
WProgram.h está en desuso en Arduino 1.0. Este ha sido reemplazado por Arduino.h. Las bibliotecas de Arduino deben admitir tanto a través de #defines en la constante ARDUINO como se describe aquí . Debe definir ARDUINO para el compilador también en su proyecto principal, lo que haría en Configuración del proyecto = > Compilador AVR = > Símbolos y configuración del proyecto = > Compilador AVR C ++ = > Símbolos respectivamente. Vas a querer agregar un nuevo Define Syms (-D) llamado ARDUINO con valor 100 en ambos lugares que creo (ARDUINO = 100).
Editar 2
También tuve que incluir explícitamente Arduino.h en la parte superior de mi archivo de origen blink.cpp (donde se definen la configuración y el bucle), no estoy seguro de cómo evitar los errores del compilador sin él.
Editar 3
Si necesita utilizar las bibliotecas de Arduino, debe colocar los archivos cpp y h de la carpeta raíz de la biblioteca de Arduino en la carpeta de origen de arduinolib, y cualquier archivo de cpp y h de la carpeta de la utilidad de la biblioteca de Arduino en una carpeta de arduinolib / utilidad e incluir tanto arduinolib como arduinolib / utility en el directorio del proyecto incluyen rutas (a Configuración del proyecto = > C / C ++ Build = > Configuración = > Configuración de la herramienta = > Compilador AVR = > Configuración de directorios y Proyecto = > C / C ++ Compilación = > Configuración = > Configuración de la herramienta = > Compilador AVR C ++ = > Directorios). Debería solo incluir las bibliotecas en esta carpeta que realmente usa o la imagen se hinchará, probablemente a través de las declaraciones de variables globales de cada biblioteca. Probablemente, una mejor manera de hacerlo es tener proyectos de biblioteca estática separados para cada biblioteca de Arduino que quiera usar y colocar una dependencia de proyecto de su proyecto principal, pero eso es un poco más de trabajo (aunque a la larga podría dar resultado).