segunda-feira, 23 de dezembro de 2013

Lendo a Memória Flash ROM do Arduino Uno r2


Palavras-chave: Arduino, Uno, Flash, ROM, Avrdude.

Neste post, iremos ler a memória Flash ROM (Flash Read Only Memory) do arduino utilizando o AVRDUDE (AVR Downloader/UploaDEr).

O AVRDUDE é utilizado para manipular, fazer o download e upload de memórias ROM e EEPROM em microcontroladores AVR, através do in-system programming (ISP).

INFORMAÇÕES INICIAIS

Sistema Operacional: Slackware_x64 v.14.1
AVRDUDE: x86_64 v.5.10
Arduino: Uno r2

PROCEDIMENTO

Conecte o Arduino na porta USB, abra o konsole e digite:
$ su
$ senha de root
# avrdude -c arduino -p m328p -P /dev/ttyACM0 -v -F -U flash:r:/home/flash_rom_arduino.hex:r
Entendendo o comando:

avrdude: chama o programa.
-c arduino: indica o programador.
-p m328p: especifica o microcontrolador (ATmega328P-PU).
-P /dev/ttyACM0: indica a porta/caminho para o arduino.
-v: verbose - mostra a saída.
-F: verifica informações do microcontrolador.
-U flash:r:/home/flash_rom_arduino.hex:r: especifica o tipo de memória (no caso Flash Rom), operação (r = read), local para gravar os dados e extensão do arquivo gerado (/home/flash_rom_arduino.hex) e por fim, porém, não obrigatório, o formato (r = raw).

As Figuras 1 e 2 mostram a saída do comando anterior.
Fig. 1 - saída do comando.
Fig. 2 - Saída do comando - continuação.
Ainda, pelo comando executado, foi gerado um arquivo em /home. Ao abrir o arquivo com qualquer editor, Figura 3, é possível ver algumas informações legíveis.
Fig. 3 - Arquivo gerado.
Para facilitar a leitura dos dados, iremos converter o arquivo para string, Figura 4, e depois para hex (ficará mais organizado), Figura 5.
# strings -n 10 /home/flash_rom_arduino.hex > /home/flash_rom_arduino_strings.out
# hexdump -C /home/flash_rom_arduino.hex > /home/flash_rom_arduino_hex.out
Fig. 4 - Formato strings.
Fig. 5 - Formato hex.
As palavras Endereço, Memória 1 e Memória 2 fazem parte do programa salvo no ATmega328P-PU (Arduino) o qual será tema da próxima publicação.

MATERIAIS/LINKS RELACIONADOS

Nenhum comentário: