It's been available for almost three weeks now, but I was away on a business trip without good internet access. Anyway, here is the announcement:[Announce] AVR-Ada V0.2.1 released
We are proud to announce a new release of AVR-Ada, one of the first GCC based Ada compilers targeting 8-bit microcontrolers.
You can get the project description and some documentation at
The SF development pages with the download section are at
AVR-Ada is available in source form only. Binary packages of the cross compiler hosted on Linux and Windows are expected to appear with future releases of cdk4avr (cdk4avr.sourceforge.net) and WinAVR (winavr.sourceforge.net).
Feel free to join the mailing list at
It has quite low traffic.
Please use SF's bug reporting system for guiding future development of AVR-Ada.
The aim of the AVR-Ada project is to make the gcc based Ada compiler GNAT available for the AVR microcontrollers.
More specifically the project provides
- a working compiler based on the existing AVR and Ada support in gcc (V 3.4.3) - a minimalistic Ada runtime system - an AVR specific support library containing all the neccessary part descriptions as Ada package specs.
The current distribution of AVR-Ada is V0.2.1. It is based on gcc-3.4.3. The Ada compiler of gcc-3.4 is considerably better than gcc-3.3. In the AVR-Ada project I had never problems with the Ada compiler itself. It is very stable.
The Ada run time system (RTS) on the other hand is not even a *run* time system. It is more a compile time system :-). All files in the RTS are only needed at compile time. As a consequence we don't have support for exceptions nor for tasking (multithreading).
There is some AVR specific support. Type and interface definitions, timing routines, eeprom access, UART, and most importantly the necessary definitions for most AVR parts.
Sample programs in the apps/ directory show how to use the compiler and the library. This includes the tutorial program from the avr-libc distribution translated to Ada.
The documentation consists of the pages at avr-ada.sourceforge.net. A copy of the pages is in the directory AVR-Ada/web/ for offline reading.
We modified the compiler patches to fit cleanly to gcc-3.4.3. They probably also fit in previous gcc-3.4.x releases; I never tried.
The "freestanding" patch is now considerably shorter since part of what it does (avoid some code in the binder file) is now provided directly in gcc. The corresponding binder options was previously called "standalone", but that expression is used elsewhere in GNAT.
You can now use "Library Projects" with AVR-Ada. I.e. you can have gpr files with "Library_Name", etc. The only permitted value for "Library_Kind" is "static". This feature is used for the Avr library.
gcc-3.4.3 now fully supports -fdata-sections (PR14064) and
-ffunction-sections for AVR targets in C and Ada. This is particularily useful for embedded systems where code and static data must not be wasted.