Existe uma maneira de exportar código para um arduino mesmo como um arquivo hexadecimal?
Existe uma maneira de exportar código para um arduino mesmo como um arquivo hexadecimal?
Respostas:
Examinando o código-fonte dos gerenciadores de inicialização do Arduino em https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders , parece que eles realmente suportam a funcionalidade de leitura do stk500 para memória flash, para que você possa alcance seu objetivo com um programa cliente como o avrdude.
Portanto, a resposta para a pergunta é que, se você puder acessar o carregador de inicialização, sim, poderá ler o conteúdo da memória flash em formato binário ou hexadecimal, sem recorrer a um programador externo.
Se você não puder acessar o carregador de inicialização (redefinir problemas ou nenhum carregador de inicialização intacto presente), poderá fazê-lo com um programador externo, desde que as configurações do fusível de segurança não o impeçam.
avrdude
comportamento de verificação padrão depende dele, pois ele lê um buffer e faz uma comparação no PC. Portanto, essencialmente, qualquer pessoa que já tenha carregado código em um Arduino baseado no ATmega, permitindo que o IDE invoque avrdude
com a configuração padrão, também implicitamente leu um.
Sim, puxei com êxito o kernel de inicialização de uma placa Arduino via ISCP e a instalei em outra. Os fusíveis de segurança não foram definidos. onde avrdude irá funcionar. Naquela época, eu usava o AVR Studio com um STK500, pois tinha uma GUI e não precisava aprender todas as opções avrdude. Qualquer um vai funcionar.
A configuração do fusível derrota o código aberto. Dito isto, o kernel de inicialização é fornecido no IDE. .. \ Arduino \ hardware \ arduino \ bootloaders \ atmega8 \ ATmegaBOOT.hex junto com outros chips variantes.