[Announce] AVR-Ada V0.2.1 released

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

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

[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

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
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
     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


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.


Site Timeline