AVR-Ada

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

von Benutzer:Andreas

Ada

Ada ist die bevorzugte Programmiersprache für sicherheitskritische Anwendungen. Sie wird vor allem in Luft- und Raumfahrt und im Militärbereich eingesetzt. Das US-Militär hat die erste Entwicklung von GNAT (GNU Ada Compiler) Anfang der 1990er unterstützt.

Warum ist Ada interessant?

  • Im Gegensatz zu den Bitfeldern in C können in Ada aus einzelnen Bits bestehende Variablen portabel adressiert werden, auch über Bytegrenzen hinweg.
  • Einschaltbare Bereichsüberprüfungenn für Variablen, Stack-Überlauf-Erkennung usw. können die Sicherheit erhöhen.
  • Vieles was man in C "von Hand" machen muss lässt sich in Ada abstrahieren, ohne dass der erzeugte Code länger oder langsamer wird.
  • Ada und VHDL ähneln sich stark, da VHDL von Ada abstammt.
  • ...

Anwendungen von Ada-Software:

  • Ariane
  • ISS
  • Tornado
  • U-Bahnen in Paris, London, Kairo, ...
  • weitere...

Weitere Informationen, Einstieg, Compiler, FAQ: http://www.adapower.com/

AVR-Ada

AVR-Ada basiert auf GNAT, dem Ada-Compiler des GCC. Da der Ada-Compiler das selbe Backend wie der C-Compiler verwendet, ist die Codequalität bei AVR-Ada ähnlich hoch wie bei AVR-GCC.

AVR-Ada wird auf Sourceforge als Projekt geführt.

Installation

Windows

Um 12/2007 war AVR-Ada im Softwarepaket WinAVR enthalten. Inzwischen (3/2010) ist es nicht mehr enthalten, kann aber nachinstalliert werden [1].

Unix/Linux

Zur Installation ist ein funktionierender GCC-Ada-Compiler >= 3.4 für das Hostsystem notwendig. Wenn dieser nicht als Paket vorhanden ist kann er folgendermaßen gebaut werden:

# gcc-3.4.5.tar.bz2 herunterladen
tar xjf gcc-3.4.5.tar.bz2
mkdir obj
cd obj
../gcc-3.4.5/configure --prefix=/usr/local/ada --enable-languages=c,ada --disable-nls
make bootstrap
cd gcc
make gnattools
cd ..
make install
# nur für Darwin/Mac OS X notwendig:
find /usr/local/ada/ -name *\.a -exec ranlib -c "{}" \;

Danach /usr/local/ada/bin zum PATH hinzufügen und AVR-Ada nach den Anleitungen auf der Webseite bauen.

Mac OS X

Komplettpaket (Ada, C, Assembler): avr-gcc-ada-3.4.5-20050802-macosx-mikrocontroller.net.tar.bz2 herunterladen (16 MB) und nach /usr/local/avr entpacken. Die Software wurde unter Panther (10.3) kompiliert, sollte aber auch mit 10.4 funktionieren.