• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

examples/H18-Jul-2020-2,8742,360

includes/H18-Jul-2020-49,36742,787

src/H18-Jul-2020-8,9787,147

tests/H18-Jul-2020-438325

.gitignoreH A D18-Jul-202070 1110

.travis.ymlH A D18-Jul-202031 32

AUTHORSH A D18-Jul-2020942 4440

CHANGELOG.mdH A D18-Jul-202011 KiB233195

COPYINGH A D18-Jul-202017.6 KiB342283

MakefileH A D18-Jul-2020964 4939

README.mdH A D18-Jul-20202.8 KiB8655

TODOH A D18-Jul-2020464 1110

USAGE.mdH A D18-Jul-202011.5 KiB384269

README.md

1# AVRA
2
3*Assember for the Atmel AVR microcontroller family*
4
5AVRA is an assembler for Atmel AVR microcontrollers, and it is almost
6compatible with Atmel's own assembler, AVRASM32. AVRA is written in C99.
7
8## Differences between AVRA and AVRASM32
9
10There are some differences between the original Atmel assembler AVRASM32 and
11AVRA. Basically, AVRA is designed to replace AVRASM32 without special changes
12in your current Atmel AVR Studio enviroment. Command line options have been
13adapted as far as possible. Jumping to fault-containing lines directly by
14double-clicking on the error message in the output window does work as with
15AVRASM32.
16
17### The differences in detail
18
19#### Support for some extra preprocessor directives
20
21.define, .undef, .ifdef, .ifndef, .if, .else, .endif, .elif, .elseif, .warning
22
23#### Not all command line options are supported
24
25Specifying an eeprom file (-e) is not supported. All eeprom data is
26put out into a file called program.eep.hex and is always in Intel hex
27format. Other hex file formats are currently not supported.
28
29#### Forward references not supported for .ifdef and .ifndef directives
30
31This makes sure that directives like .ifdef and .undef are working as you
32probably expect. If you are familiar with the C programming language, you
33should get easily into AVRA.
34
35#### Enhanced macro support
36
37AVRA has some new features for writing flexible macros. This should
38increase the ability to reuse code, e.g., build your own library.
39
40#### Debugging support
41
42AVRA creates a coff file everytime assembly is sucessful. This
43file allows AVR Studio or any coff compatible debugger to simulate
44or emulate the program.
45
46#### Meta tags for assembly time
47
48This helps you tracking versions of your software and can also be
49used to generate customer specific serial numbers.
50
51## Compatibility
52
53It should be possible to compile AVRA on most system platforms.
54If you have problems compiling AVRA, please open an issue in the tracker.
55
56## History
57
58The initial version of AVRA was written by John Anders Haugum. He released
59all versions until v0.7. Tobias Weber later took over, followed by Burkhard
60Arenfeld (v1.2) then Jerry Jacobs (v1.3).
61
62After a long 8 years of inactivity, Virgil Dupras took over, preparing a
63v1.4 release.
64
65See AUTHORS for a complete list of contributors.
66
67## Build
68
69To build the `avra` executable, cd into the project's root directory and run
70`make`. A `src/avra` binary will be produced. You can install it with `make
71install`.
72
73By default, make runs under the `linux` OS, which assumes a typical GNU
74toolchain. If that doesn't work for you, look at the available platforms
75available in `src/makefiles` and override `OS` when you call `make`. Note that
76those platforms aren't all well tested. Please open an issue in the tracker if
77you notice a platform not working.
78
79## Usage
80
81See [USAGE.md](USAGE.md).
82
83## Change log
84
85See [CHANGELOG.md](CHANGELOG.md).
86