avra - 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:
- Support for some extra
preprocessor directives.
- includes: .define, .undef, .ifdef, .ifndef, .if, .else, .endif, .elif,
.elseif, .warning
- Not all command line options are
supported.
- 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.
- Forward references are
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.
- Enhanced macro
support.
- AVRA has some new features for writing flexible macros. This should
increase the ability to reuse code e.g. build your own library.
- Debugging
support.
- 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.
- Meta tags for assembly
time.
- This helps you tracking versions of your software and can also be used to
generate customer specific serial numbers.
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.