1

I'd like to know if there is a way to have a more friendly way to get disassemble hex file coming from Adafruit board.

Let me explain actually I'm working with Adafruit feather 32u4 running with ATmega32u4 with avr-dude I got an hex file. After that I disassembled the file with avr-objdump but I got no friendly file, here is an example what I got

  b8:   11 24           eor     r1, r1
  ba:   1f be           out     0x3f, r1        ; 63
  bc:   cf ef           ldi     r28, 0xFF       ; 255
  be:   d8 e0           ldi     r29, 0x08       ; 8
  c0:   de bf           out     0x3e, r29       ; 62
  c2:   cd bf           out     0x3d, r28       ; 61
  c4:   21 e0           ldi     r18, 0x01       ; 1
  c6:   a0 e0           ldi     r26, 0x00       ; 0
  c8:   b1 e0           ldi     r27, 0x01       ; 1
  ca:   01 c0           rjmp    .+2             ;  0xce

My question : there is a way to have a more friendly disassemble file ? With label or something else ? Or with an hex file only brut assembly is available ?

Can I create object file from my disassemble hex file ?

1 Answer 1

1

You need to run the hex file through a tool like IDA Pro (paid) or Ghidra as a more intelligent disassembler/decompiler. those tools try to generate pseudocode from the assembly, too and also try to detect where functions start and end.

2
  • I'll try Ghidra, but when I imported my hex file, for the langugage what should I select, I've multiple AVR8 available, maybe default AVR8 with gcc ?
    – simon
    Commented Mar 2, 2023 at 9:07
  • yes, thats a good try for first. GCC is most common AVR compiler
    – masterX244
    Commented Mar 3, 2023 at 8:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.