¿Cómo subo un firmware de archivo hexadecimal a una placa de destino sin usar el IDE de Arduino?

8

¿Hay alguna forma de crear un instalador que ejecute un script de shell para cargar una actualización de firmware a un arduino que no implique el uso del IDE? Tengo una cosa que hago que a veces necesita una actualización de firmware, y a veces las personas que aplicarían la actualización de firmware no podrían aplicar la actualización desde el IDE. Supongo que es algo que tiene que ver con avrdude, pero por mucho que intenté aprender cómo, no he tenido suerte por mi cuenta.

Puedo manejar la parte "crear un instalador que ejecuta un script de shell".

Steve Cooley
fuente
¿Está interesado en una carga USB del boceto / firmware? (en lugar de usar un ICSP)
mordida del

Respuestas:

5

Creo que esto podría lograrse desde la línea de comandos como se muestra a continuación (y, por lo tanto, podría convertirse fácilmente en un script). Esta no es una respuesta totalmente probada, y la actualizaré a medida que avance el progreso, ya sea a través de mis pruebas o la verificación de otros.

Primero obtenga avrdude (archivos mínimos: avrdude.conf, avrdude.exe y libusb0.dll).

Luego, desde la línea de comandos, ejecute algo en el sentido de:

avrdude -U flash: w: [put-hex-file-path-here]: i -C avrdude.conf -v -p atmega328 -b 115200 -c stk500v2 -P [put-device-path-here]

bocado
fuente
7

Si activa la salida detallada en las preferencias del IDE, puede ver la línea de comando completa que el IDE usa para ejecutar avrdude.

La salida detallada también le permitirá ver qué directorio temporal se está utilizando para el archivo hexadecimal, para que pueda tomarlo.

Baldengineer
fuente
Esto semi-responde a la pregunta. Creo que el interlocutor estaba interesado en cómo cargar este archivo hexadecimal en la placa (sin Arduino IDE y presumiblemente sin un ICSP).
mordida del tablero
Proporciona el paso necesario para obtener la respuesta completa. Una vez que vea la línea de comando que usa el IDE y tenga el archivo hexadecimal, ya no necesitará el IDE. No estoy seguro de entender su comentario sobre ICSP ya que avrdude no requiere un programador basado en ICSP.
baldengineer
1
Acabo de señalar que la salida detallada de IDE de hecho proporciona la información completa necesaria; mi comentario ahora rescindido! Y mi mención de ICSP no está relacionada con avrdude, sino más bien con el hecho de que es una forma común de programar chips.
mordida del
3

Quizá estés buscando la utilidad inotool.


fuente
¿Alternativas de Windows? ¿Basado en la línea de comandos tal vez?
mordida del
La página no dice nada sobre archivos hexadecimales.
Elmue
3

Puede usar AX Loader, un software de código abierto disponible en Sourceforge .

usuario24931
fuente
¿Alguna versión de Windows de 32 bits de la misma?
Mordida del
Este enlace está muerto. Solo puedo encontrar XLoader en xloader.russemotto.com pero no hay un código fuente disponible.
Elmue