Forum: News AVR-Ada v0.3 released


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Andreas S. (andreas) (Admin) Benutzerseite Flattr this


Lesenswert?

Wer mal über den C/Assembler-Tellerrand blicken möchte, der sollte sich 
AVR-Ada anschauen. Ada wurde in den 70ern speziell für 
sicherheitskritische Embedded-Systeme entwickelt. Schon auf den ersten 
Blick fallen trotz der gewöhnungsbedürftigen Syntax viele Dinge auf die 
besser gelöst sind als in C. Zum Beispiel der Zugriff auf einzelne Bits, 
wie im folgenden Code:

C:
<pre>
      UCSR0B = (1<<RXEN0)|(1<<TXEN0);
</pre>

Ada:
<pre>
      USART0_Control_And_Status_B :=
        (RXEN => True,
         TXEN => True,
         others => False);
</pre>

Und ob man folgendes in C auch so schön schreiben könnte?
<pre>
   LCD_Driver.Init;
   LCD_Driver.G_Scroll_Mode := None;
   LCD_Driver.Scroll_Offset := 0;
   LCD_Driver.Colons := False;
   LCD_Driver.Update_Required := True;
</pre>

Unter den Beispielprogrammen ist eine LCD-Ansteuerung für das 
AVR-Butterfly und ein OneWire-Bibliothek.

Da AVR-Ada auf dem GCC basiert, ist eine ähnlich gute Codequalität wie 
bei AVR-GCC zu erwarten. Allerdings handelt es sich nach Angabe der 
Entwickler noch um eine Alpha-Version.

Im Moment ist AVR-Ada nur zum Selbstkompilieren erhältlich, allerdings 
ist geplant ihn in der nächsten Version von "WinAVR":/articles/WinAVR 
mitzuliefern.

Weitere Informationen und eine Installationsanleitung findet man auf der 
Webseite 
"http://avr-ada.sourceforge.net/":http://avr-ada.sourceforge.net/ .

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.