¿Hay alguna manera de exportar código para un arduino incluso como un archivo hexadecimal?
¿Hay alguna manera de exportar código para un arduino incluso como un archivo hexadecimal?
Respuestas:
Al leer el código fuente de los cargadores de arranque Arduino en https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders , parece que de hecho admiten la funcionalidad de lectura de stk500 para memoria flash, de modo que usted pueda cumpla su objetivo con un programa cliente como avrdude.
Entonces, la respuesta a la pregunta es que si puede acceder al gestor de arranque, entonces sí puede leer el contenido de la memoria flash en formato binario o hexadecimal, sin recurrir a un programador externo.
Si no puede acceder al gestor de arranque (problemas de reinicio, o no hay un gestor de arranque intacto), entonces puede hacerlo con un programador externo, siempre que la configuración del fusible de seguridad no lo impida.
avrdude
comportamiento de verificación predeterminado depende de ello, ya que funciona al leer un búfer y realizar una comparación en la PC. Entonces, esencialmente, cualquiera que haya subido código a un Arduino basado en ATmega al permitir que el IDE invoque avrdude
con la configuración predeterminada, también ha leído implícitamente uno.
Sí, he extraído con éxito el núcleo de arranque de una placa Arduino a través de ISCP y lo he insertado en otra. No se pusieron los fusibles de seguridad. donde funcionará avrdude. En aquel entonces usaba AVR Studio con un STK500 ya que tenía una GUI y no necesitaba aprender todos los interruptores de avrdude. Cualquiera de los dos funcionará.
Configurar el fusible derrota el código abierto. Dicho esto, el núcleo de arranque se proporciona en el IDE. .. \ Arduino \ hardware \ arduino \ bootloaders \ atmega8 \ ATmegaBOOT.hex junto con otros chips variantes.