This is a quick overview of avr-binutils. More useful programs: 1. avr-as - AVR assembler. AVR options: -mmcu=[avr-name] select microcontroller variant [avr-name] can be: avr1 - AT90S1200 avr2 - AT90S2xxx, AT90S4xxx, AT90S85xx, ATtiny22 avr3 - ATmega103 or ATmega603 avr2 - default microcontroller. 2. avr-ld - AVR linker. To select AVR microcontroller use: `-m ' avr-ld: supported emulations: avr85xx avr1200 avr23xx avr44x4 avr4433 avrmega603 avrmega103 avrmega161 avr85xx - default emulation. 3. avr-objdump - display information from object files. Don't have any AVR specific option. I'm use avr-objdump for disassembling (avr-objdump -S ). Also interesting result with debugging info: avr-as -gstabs .s -o .o avr-ld .o -o avr-objdump -S 4. avr-objcopy - copy and translate object files. I'm use avr-objcopy for extracting .eeprom segment from object file. avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ -O srec To produce Motorolla S-RECORDS use: avr-objcopy -O srec 5. I don't test: avr-ar, avr-ranlib, avr-nm. But IMHO they must work.