1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-12-25 18:28:06 +11:00
collapseos/avr
Virgil Dupras aa8df95f7d Add "avr/" includes folder
Also, add a "real world" example in AVRA tests, a blink program on
a ATtiny45. Some instructions are commented out because they aren't
implemented yet, but not many.

The output of the program has been verified against AVRA's own
output.
2019-12-15 09:38:01 -05:00
..
avr.h Add "avr/" includes folder 2019-12-15 09:38:01 -05:00
ops.txt Add "avr/" includes folder 2019-12-15 09:38:01 -05:00
README.md Add "avr/" includes folder 2019-12-15 09:38:01 -05:00
tn25.h Add "avr/" includes folder 2019-12-15 09:38:01 -05:00
tn45.h Add "avr/" includes folder 2019-12-15 09:38:01 -05:00
tn85.h Add "avr/" includes folder 2019-12-15 09:38:01 -05:00
tn254585.h Add "avr/" includes folder 2019-12-15 09:38:01 -05:00

AVR include files

This folder contains header files that can be included in AVR assembly code.

These definitions are organized in a manner that is very similar to other modern AVR assemblers, but most bits definitions (PINB4, WGM01, etc.) are absent. This is because there's a lot of them, each symbol takes memory during assembly and machines doing the assembling might be tight in memory. AVR code post collapse will have to take the habit of using numerical masks accompanied by comments describing associated symbols.

To avoid repeats, those includes are organized in 3 levels. First, there's the avr.h file containing definitions common to all AVR models. Then, there's the "family" file containing definitions common to a "family" (for example, the ATtiny 25/45/85). Those definitions are the beefiests. Then, there's the exact model file, which will typically contain RAM and Flash boundaries.