Assembler for the atmel avr microcontroller family
avra [-f] [O|M|I|G] output file type [-o outfile] output file name [-l listfile] generate list file [-m mapfile] generate map file [--define symbol[=value]] [--includepath path] [-listmac] [--max_errors number] [--devices] [--version] [-h] [--help] general help infile
AVRA is an assembler for Atmel AVR microcontrollers, and it is almost compatible with Atmel's own assembler AVRASM32. The differences between the two are:
includes: .define, .undef, .ifdef, .ifndef, .if, .else, .endif, .elif, .elseif, .warning
Specifying an eeprom file (-e) is not supported. All eeprom data is put out into a file called program.eep.hex and always Intel hex format. Other hex file formats than Intel are currently not supported.
Like in C, you have to define everything before you are using it, excepting labels. This makes sure, that directives like .ifdef and .undef are working properly. If you are familiar with the C programming language, you should get easily into AVRA. See chapter "Programming techniques" for more information about how to write proper code.
AVRA has some new features for writing flexible macros. This should increase the ability to reuse code e.g. build your own library.
AVRA creates a coff file everytime the assembly was sucessful. This file allows AVR Studio or any coff compatible debugger to simulate or emulate the program.
This helps you tracking versions of your software and can also be used to generate customer specific serial numbers.
Several option can be given after one '-', but if an option requires an argument; the argument must be given after that option.
--listfile, -l
Create list file
--mapfile, -m
Create map file
--define, -D
Define symbol.
--includepath, -I
Additional include paths.
--listmac
List macro expansion in listfile.
--max_errors
Maximum number of errors before exit (default: 10)
--devices
List out supported devices.
--version
Version information.
--help, -h
Show summary of options.
The initial version of AVRA was written by John Anders Haugum. He released all versions until v0.7. Later versions were released by Tobias Weber. Version 1.3.0 was released by Jerry Jacobs.