vAVRdisasm is an 8-bit Atmel AVR firmware disassembler.
According to its site, this single-pass disassembler can read Atmel Generic, Intel HEX8, and Motorola S-Record formatted files containing valid AVR program binaries.
I compile it without problem on my Macbook Air running OS X Yosemite. Simply by typing
make
Last login: Mon May 11 11:12:14 on ttys000
Nugrohos-MacBook-Air:~ nugroho$ cd Downloads/
Nugrohos-MacBook-Air:Downloads nugroho$ cd vavrdisasm-master/
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ ls
COPYING crazy_test.py print_stream.c
ChangeLog.md disasm_stream.h print_stream.h
Makefile file stream_error.h
README.md instruction.h vavrdisasm.sln
avr lsupp vavrdisasm.vcproj
byte_stream.h main.c
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ less README.md
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ make
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/libGIS-1.0.5/atmel_generic.c -o build/file/libGIS-1.0.5/atmel_generic.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/libGIS-1.0.5/ihex.c -o build/file/libGIS-1.0.5/ihex.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/libGIS-1.0.5/srecord.c -o build/file/libGIS-1.0.5/srecord.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/atmel_generic.c -o build/file/atmel_generic.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/ihex.c -o build/file/ihex.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/srecord.c -o build/file/srecord.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/binary.c -o build/file/binary.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/debug.c -o build/file/debug.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/test.c -o build/file/test.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c file/asciihex.c -o build/file/asciihex.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c avr/avr_instruction_set.c -o build/avr/avr_instruction_set.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c avr/avr_disasm.c -o build/avr/avr_disasm.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c avr/avr_print.c -o build/avr/avr_print.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c print_stream.c -o build/print_stream.o
gcc -Wall -O3 -D_GNU_SOURCE -I. -c main.c -o build/main.o
gcc build/file/libGIS-1.0.5/atmel_generic.o build/file/libGIS-1.0.5/ihex.o build/file/libGIS-1.0.5/srecord.o build/file/atmel_generic.o build/file/ihex.o build/file/srecord.o build/file/binary.o build/file/debug.o build/file/test.o build/file/asciihex.o build/avr/avr_instruction_set.o build/avr/avr_disasm.o build/avr/avr_print.o build/print_stream.o build/main.o -o vavrdisasm
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ ls
COPYING crazy_test.py print_stream.h
ChangeLog.md disasm_stream.h stream_error.h
Makefile file vavrdisasm
README.md instruction.h vavrdisasm.sln
avr lsupp vavrdisasm.vcproj
build main.c
byte_stream.h print_stream.c
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ ./vavrdisasm
Usage: ./vavrdisasm [options]
Disassembles program file. Use - for standard input.
vAVRdisasm version 3.1 - 09/18/2014.
Vanya A. Sergeev -
https://github.com/vsergeev/vavrdisasm
Options:
-o, --out-fileWrite to file instead of standard output.
-t, --file-typeSpecify file type of the program file.
--assembly Produce assemble-able code with address labels.
--data-base-hex Represent data constants in hexadecimal
(default).
--data-base-bin Represent data constants in binary.
--data-base-dec Represent data constants in decimal.
--no-addresses Do not display address alongside disassembly.
--no-opcodes Do not display original opcode alongside
disassembly.
--no-destination-comments Do not display destination address comments
of relative branch/jump/call instructions.
--objdump Create avr-objdump compatible output.
Affects address display.
-h, --help Display this usage/help.
-v, --version Display the program's version.
Supported file types:
Atmel Generic generic
Intel HEX8 ihex
Motorola S-Record srec
Raw Binary binary
ASCII Hex ascii
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ cp vavrdisasm /usr/local/bin/
cp: /usr/local/bin/vavrdisasm: Permission denied
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ sudo cp vavrdisasm /usr/local/bin/
Password:
Nugrohos-MacBook-Air:vavrdisasm-master nugroho$ vavrdisasm
Here vAvrDisasm in action
Nugrohos-MacBook-Air:ATTiny13A nugroho$ cd.
Nugrohos-MacBook-Air:~ nugroho$ cd Desktop/mikrocontroller/ATTiny/ATTiny13A/
Nugrohos-MacBook-Air:ATTiny13A nugroho$ ls
coba.cof coba.eep.hex coba.hex coba.obj coba.s tn13Adef.inc
Nugrohos-MacBook-Air:ATTiny13A nugroho$ vavrdisasm coba.hex
0: c0 00 rjmp .+0 ; 0x2
2: e0 01 ldi R16, 0x01
4: bb 08 out $18, R16
6: bb 07 out $17, R16
8: cf ff rjmp .-2 ; 0x8
Nugrohos-MacBook-Air:ATTiny13A nugroho$
No comments:
Post a Comment