We are proud to announce a new release of AVR-Ada, one of the first GCC based Ada compilers targeting 8-bit microcontrolers.
The project description consists of some wiki pages at
This is a source only release, i.e. you get patches and instructions for building your own cross compiler, the run time system, and the support packages. There are no pre-built binaries yet.
The download is available at the green button on page
If you have difficulties in building or using the compiler or you want to chat aabout a project, please join and use the mailing list at
The goal 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 GNAT compiler based on the existing AVR and Ada support in gcc - a minimalistic Ada runtime system - a useful AVR specific support library - support packages for accessing LCDs and for Dallas' 1-wire sensors
The current distribution of AVR-Ada is V1.0. It is based on gcc-4.3.3.
The Ada run time system (RTS) on the other hand is still not even a*run* time system. It is more a compile time system :-). Mostfiles 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 a bit of AVR specific support. Some type and interface definitions, timing routines, eeprom access, UART, and most importantly the necessary definitions for most AVR parts. The syntax for accessing ports and specific bits changed radically (compared to previous releases) thanks to a patch provided by Adacore. You can now read and write every predefined port either as an Unsigned_8 or as an array (0..7) of Boolean.
Some sample programs in the apps/ directory show how to use the compiler and the library. This includes some of Peter Fleury's example programstranslated to Ada.