C'è un modo per esportare il codice per un arduino anche come file esadecimale?
C'è un modo per esportare il codice per un arduino anche come file esadecimale?
Risposte:
Esaminando il codice sorgente dei bootloader di Arduino su https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders sembra che in effetti supportino la funzionalità di lettura stk500 per la memoria flash, in modo tale da poter raggiungere il tuo obiettivo con un programma client come avrdude.
Quindi la risposta alla domanda è che se puoi accedere al bootloader, allora sì puoi leggere il contenuto della memoria flash in formato binario o esadecimale, senza ricorrere a un programmatore esterno.
Se non è possibile accedere al bootloader (ripristinare i problemi o non è presente alcun bootloader intatto), è possibile farlo con un programmatore esterno, a condizione che le impostazioni dei fusibili di sicurezza non lo impediscano.
avrdude
comportamento di verifica predefinito si basa su di esso mentre funziona rileggendo un buffer ed eseguendo un confronto sul PC. Quindi, in sostanza, chiunque abbia mai caricato codice su un Arduino basato su ATmega lasciando invocare l'IDE avrdude
con la configurazione predefinita, ne ha anche implicitamente letto uno.
Sì, ho estratto con successo il kernel di avvio da una scheda Arduino tramite ISCP e l'ho inserito in un altro. Le micce di sicurezza non sono state impostate. dove avrdude funzionerà. All'epoca utilizzavo AVR Studio con un STK500 poiché aveva una GUI e non avevo bisogno di imparare tutti gli switch avrdude. O funzionerà.
L'impostazione del fusibile disattiva l'open source. Detto questo, il kernel di avvio è fornito nell'IDE. .. \ Arduino \ hardware \ arduino \ bootloaders \ atmega8 \ ATmegaBOOT.hex insieme ad altri chip varianti.