comp.lang.ada
 help / color / mirror / Atom feed
From: rolf.ebert_nospam_@gmx.net
Subject: [Announce] AVR-Ada V0.3 released
Date: 3 Aug 2005 03:24:10 -0700
Date: 2005-08-03T03:24:10-07:00	[thread overview]
Message-ID: <1123064650.840799.253340@f14g2000cwb.googlegroups.com> (raw)

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

     avr-ada.sourceforge.net

The SF development pages with the download section are at

     www.sourceforge.net/projects/avr-ada


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

     http://lists.sourceforge.net/mailman/listinfo/avr-ada-devel.

It has quite low traffic.


Please use SF's bug reporting system for guiding future development of
AVR-Ada.


Status
======

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

The current distribution of AVR-Ada is V0.3. It is based on gcc-3.4.4.
In the AVR-Ada project we never had problems with the Ada compiler
itself. It is quite stable.

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 :-). 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 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.

Some sample programs in the apps/ directory show how to use the
compiler and the library.  This includes the tutorial program from an
older avr-libc distribution and some of Peter Fleury's example programs
(http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html)
translated to Ada.

The documentation is still low and consists only of the pages at
avr-ada.sourceforge.net.  A copy of the pages is in the directory
AVR-Ada/web/ for offline reading.  Feel free to ask any question on the
mailing list.


News
====

0.3 (2005-08-03)
----------------

The part description spec files are completely new.  The Ada specs are
now generated directly from Atmel's XML part description files of AVR
Studio 4.11 build 406 SP 2.  In previous versions they were derived
from the C header files of avr-libc.

We changed the syntax for accessing single bits from bit numbering to
masks in AVR.IO.  Simple names in the part description specs now
contain bit masks, the pin number is still available with the name
xxx_Bit.  E.g.:

    --  Port D Data Register bit 3
    PORTD3_Bit               : constant Bit_Number := 3;
    PORTD3                   : constant Byte       := 16#08#;

The previous Set_IO routines in AVR.IO were renamed to simply Put
omitting the _IO, the Get_IO have become Get.  That is more in the
style of other Ada IO packages like Text_IO.

New packages for string handling and accessing constants in program
space.  They are actually a stripped down version of
Ada.Strings.Bounded.

We build part specific libraries now.  That means that we can provide
specific functionality adapted to a given part.  It is currently used
for the UART and EEPROM access only, though.

The example programs for accessing 1-wire devices and an LCD are not
part of the distribution anymore.  They are only available via CVS.
There is also starting support for the atmega169 based AVR Butterfly in
the CVS repository (UART, LCD, and dataflash).


0.2 (2004-10-28)
----------------

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
particularily useful for embedded systems where code and static data
must not be wasted.




                 reply	other threads:[~2005-08-03 10:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox