Recientemente comencé un nuevo proyecto usando mi Arduino que ha estado acumulando polvo por un tiempo. Junto con la placa física que acumula polvo, también lo ha hecho mi copia de avr-gcc y las bibliotecas Arduino. Puedo administrar la actualización de avr-gcc, pero no recuerdo cómo compilé las bibliotecas Arduino. Con la fuente Arduino, hay una lista de archivos fuente y tal, pero no hay un archivo MAKE (que puedo ver) para construir realmente la biblioteca. No me importa construir el IDE, solo quiero la biblioteca en formato binario y los archivos de encabezado que necesitaré. ¿Hay alguna documentación o tal para hacer esto?
No quiero usar Arduino IDE, prefiero usar mi propio editor de texto y un archivo MAKE.
Respuestas:
He creado un pequeño proyecto con un sistema de compilación personalizado (usando Ruby) que lo hace bastante fácil sin tener que instalar el IDE de Arduino. Básicamente, utiliza una plantilla Makefile y un script ruby para hacer que compilar las bibliotecas Arduino sea extremadamente fácil. Puedes verlo en https://github.com/Earlz/make-wiring
Sin embargo, estoy dejando la respuesta anterior aquí para obtener información sobre cómo hacer la suya. Sin embargo, es bastante engorroso y molesto:
Direcciones:
hardware/arduino/cores/arduino
a un nuevo directorio al que me referiré como arduino_buildpins_arduino.h
archivo de la variante Arduino que sea suyahardware/arduino/variants
(consulte boards.s.xt si no está seguro) a arduino_build.
Y luego solo corre
Y luego, para hacer uso de las bibliotecas compiladas, puede usar un archivo MAKE simple como este:
Además, si intenta compilar las bibliotecas
libraries/
, obtendrá un error de vinculador si no hace las cosas en el orden correcto. Por ejemplo, tuve que hacer esto para usar SoftwareSerial:El
-larduino
debe ser la última biblioteca en la línea de comandosDe todos modos, esta fue una manera bastante fácil de compilarlo para mí. A medida que salgan las futuras versiones del Ardunio, este archivo MAKE debe ser bastante seguro para el futuro, y requiere solo algunas modificaciones a OBJS y HDRS. Además, este archivo MAKE debería funcionar tanto con BSD make como con GNU make
Vea también una versión ligeramente modificada de esta respuesta en mi blog con un binario ya compilado de la biblioteca (compilado usando el "estándar" pins_arduino.h).
** EDITAR **
Descubrí que agregar los siguientes indicadores de optimización del compilador tanto al Makefile del edificio de la biblioteca como a cada Makefile del proyecto individual reduce en gran medida el tamaño del binario compilado final. Esto hace que el tamaño binario final sea comparable al del IDE.
.
Entonces, para el makefile de compilación de la biblioteca:
y, para cada proyecto makefile:
.
Ref: http://arduino.cc/forum/index.php?topic=153186.0
fuente
Si está dispuesto a usar Arduino IDE una vez (o una vez por tipo de dispositivo), es la forma más fácil de construir una biblioteca estática, así como obtener las fuentes de la biblioteca. Después de eso, puede usar las herramientas de desarrollo que más le convengan.
Este artículo de Arduino (escrito para usuarios que se mudan al IDE de Eclipse) describe la construcción de la biblioteca de Arduino compilando un boceto con el IDE de Arduino y recuperando la biblioteca del directorio temporal de Arduino. Desplácese hacia abajo aproximadamente 1/4 de la página a la sección
fuente
Si solo necesita un sistema de compilación que también pueda poner a prueba su programador de microcontroladores, platformio es su amigo.
fuente