Como carregar um firmware de arquivo hexadecimal em uma placa de destino sem usar o IDE do arduino?


8

Existe uma maneira de criar um instalador que execute um shell script para fazer upload de uma atualização de firmware para um arduino que não envolva o uso do IDE? Tenho uma coisa que faço que às vezes precisa de uma atualização de firmware e, às vezes, as pessoas que aplicariam a atualização de firmware não poderiam aplicar a atualização a partir do IDE. Acho que tem algo a ver com avrdude, mas por mais que eu tente aprender como, simplesmente não tive sorte por conta própria.

Eu posso lidar com a parte "criar um instalador que executa um script de shell".


O interesse em um upload USB do esboço / firmware? (em vez de usar um ICSP)
boardbite

Respostas:


5

Acredito que isso possa ser realizado a partir da linha de comando, como abaixo (e, portanto, pode ser facilmente transformado em um script). Esta não é uma resposta totalmente testada e a atualizarei à medida que o progresso ocorrer, seja através do meu teste ou da verificação de outras pessoas.

Primeiro obtenha o avrdude (arquivos mínimos: avrdude.conf, avrdude.exe e libusb0.dll).

Em seguida, na linha de comando, execute algo com o efeito 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]


7

Se você ativar a saída detalhada nas preferências do IDE, poderá ver a linha de comandos completa que o IDE usa para executar o avrdude.

A saída detalhada também permitirá que você veja qual diretório temporário está sendo usado para o arquivo hexadecimal, para que você possa obtê-lo.


Isso semi-responde à pergunta. Eu acredito que o questionador estava interessado em como fazer upload desse arquivo hexadecimal para o quadro (sem o Arduino IDE e, presumivelmente, sem um ICSP).
boardbite

Ele fornece a etapa necessária para obter a resposta completa. Depois de ver a linha de comando que o IDE usa e o arquivo hexadecimal, você não precisa mais do IDE. Não sei se entendi seu comentário sobre o ICSP, já que o avrdude não requer um programador baseado no ICSP.
precisa saber é o seguinte

1
Acabei de observar que a saída detalhada do IDE realmente fornece todas as informações necessárias; meu comentário agora foi rescindido! E minha menção ao ICSP não está relacionada à avrdude, mas ao fato de que é uma maneira comum de programar chips.
usar o seguinte comando

3

Você pode estar procurando a utilidade do inotool .


Alternativas do Windows? Talvez baseado em linha de comando?
boardbite

A página não diz nada sobre arquivos hexadecimais.
Elmue

3

Você pode usar o AX Loader, um software de código aberto disponível no Sourceforge .


Alguma versão Windows de 32 bits do mesmo?
boardbite

Este link está morto. Só consigo encontrar o XLoader em xloader.russemotto.com, mas não há código fonte disponível.
Elmue
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.