Dienstag, 16. November 2010

Python in Embedded Systems

Kann Python als Programmiersprache für embedded Systems verwendet werden?


Diese Frage stellte sich vor 2 Jahren, als die verwendete Pascal-Programmierumgebung auf keinem neuen Entwicklungsrechner mehr installierbar wurde. Erste Versuche mit Python verliefen viel versprechend und machten Lust auf mehr.

Welche Anforderungen stellen sich an Software auf embedded Systemen? Oder vorher gefragt: wie tief embedded sind die Anforderungen an die eigentliche Lösung?
Auf die zweite Frage war die Antwort relativ einfach: die heutigen CPU- und Ram-Größen von Embedded- oder Kompakt-PCs bei geringen Stückzahlen zwingen nicht zu “deep embedded” mit Rücksicht auf das letzte Byte. Somit können wir mit dem Betriebssystem und der Software-Ausstattung relativ großzügig sein.

Bleibt die Frage nach den Anforderungen an Software auf embedded Systemen: Software muss generell mit vertretbarem Aufwand, d.h. schnell und strukturiert entwickelbar sein. Auf embedded Systemen ist normalerweise keine Bedienoberfläche oder direkte Benutzereingaben notwendig, es sind quasi “Konsolenanwendungen”. Beide Anforderungen sind mit Python sehr gut umsetzbar. Für fast alle Aufgabenstellungen gibt es Module. Die Entwicklungswerkzeuge brauchen keinen Vergleich mit anderen Programmiersprachen zu scheuen.

Da Python eine Scriptsprache ist, werden die Programme nicht kompiliert. Dadurch sind sie sehr klein. Ein Programmupdate über langsame Verbindungen mit geringer Bandbreite ist einfach, der Versand von Programmen für z.B. Updates ist auch mit scharfen Virenscannern kein Problem, da es sich ja um ASCII-Dateien handelt.

Die Ausführungsgeschwindigkeit ist bei vielen embedded Programmen kein Kriterium (zumindest bei unseren Anwendungen). Hinzu kommt die Lauffähigkeit unter verschiedenen Betriebssystemen und die einfache Handhabung bei Systemupdates von Python selbst.

Fazit:
Wir haben bisher mit Python gute Erfahrungen gemacht und ermutigen jeden, einfach mal zu probieren.
Python ist bei allen aktuellen Linux-Versionen serienmäßig installiert und kann unter www.python.org auch für Windows geladen werden.

Links:

Montag, 15. November 2010

Aller Anfang ist schwer?

Ein Blog? ... nun haben wir auch einen.
Was möchten wir hier darstellen (und was nicht)?

Zuerst mal das einfachere: was nicht:
Wir wollen keine Aktuell-Statusmeldung unserer Tätigkeiten veröffentlichen. Hierzu gäbe es ja Twitter, aber dazu ist uns momentan die Zeit zu schade und der Kreis der Interessenten wohl eher zu klein.

Nun das schwierigere: was möchten wir darstellen:

kommt noch