AVR-Ada
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.