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? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.