Disassembler Arduino

Software para disassembler do arquivo *.elf do Arduino.

Neste post estarei demonstrando como utilizar uma pequena ferramenta que estou desenvolvendo, para auxiliar nossos estudos, otimizações e/ou debug de possíveis problemas durante o desenvolvimento do seu software para a plataforma Arduino.

Creio que muitos que utilizam a Ide para o Arduino, já sentiram falta de ver o código que é gerado em assembly. Não havendo até o momento uma interface que facilite a visualização destas informações.
Para os que não sabem, é possível gerar este código através de algumas linhas de comando em prompt, onde são passados alguns parâmetros para os arquivos 'avr-objdump.exe' (Plataforma AVR), ou 'pic32-objdump.exe' (Plataforma PIC32). Sendo que estes arquivos já estão contidos nos diretórios do compilador para a Ide do Arduino.
Vale lembrar, que não estamos fazendo 'engenharia reversa'. Estamos na verdade utilizando as ferramentas que já estão disponíveis para obter algumas informações com maior facilidade. Onde não é preciso ficar digitando nome de arquivos e diretórios "imensos" à cada vez que se deseja utilizar destas ferramentas.
É possível também utilizar-se das variáveis de ambiente, acrescentando a localização destas ferramentas no 'PATH" do windows, mas este não é o foco do post no momento.
Pensando na facilidade de uso, desenvolvi um software que é apenas uma interface amigável para ver algumas informações de forma rápida. Sendo possível salvar o arquivo e utilizá-lo em outras ferramentas de edição.

Segue um pequeno tutorial para uso do software Disassembler_Arduino_Tool.

1) Faça o download do arquivo zipado do software.  [ DOWNLOAD ]

2) Execute o arquivo 'Disassembler_Arduino_Tool.exe' .



3) Escolha a plataforma para qual foi compilado o seu projeto, sendo ele para o AVR ou PIC32.



4) Depois escolha o tipo de informação que gostaria de obter do seu código compilado.

Fica uma pequena observação: efetuei os testes em todos os itens, e observei que alguns podem não funcionar para a plataforma AVR, como alguns outros para a plataforma PIC32. Isso pode acontecer devido à versão dos arquivos 'avr-objdump.exe' e 'pic32-objdump.exe'.
Caso alguém encontre algum bug relacionado à isto, entre em contato conosco, e o quanto antes obtermos informações à respeito, estaremos entrando em contato ou criando um novo post com as devidas atualizações.



5) Abra a janela de abertura de arquivos:  File -> Open *.elf .





6) Navegue até o diretório onde se encontra o arquivo *.elf. Selecione o mesmo e confirme.

Caso não encontrarem o arquivo *.elf , é possível através da Ide obter a localização do arquivo, que geralmente se encontra em uma pasta temporária de trabalho no diretório de usuário no windows.



7) Caso esteja tudo correto, deverá aparecer a janela com as informações requeridas sobre o arquivo.

Lembrando que deve ter sido escolhido corretamente a plataforma para qual foi efetuada a compilação do projeto.



Com isto encerro o pequeno tutorial sobre o software. Espero que seja de grande ajuda, uma vez que o foco é facilitar a vida de qualquer desenvolvedor.
Aguardo comentários e sugestões para a melhoria desta pequena ferramenta.

Até a próxima.

[ DOWNLOAD ]


3 comentários:

  1. Olá, dessa forma consigo acessar onde fica gravado as informações vid e pid? Estou desenvolvendo um projeto baseado no Arduino e gostaria de alterar o nome que aparece ao conectar no computador.

    ResponderExcluir
  2. boa noite é possível no Arduíno uno queimar apenas 2 portas de saída digital ?não tenho Código fonte e o passo de duas portas não funciona tem como testar I/o sem apagar código fonte.agradeço antecipadamente a informação

    ResponderExcluir