Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier.


Sprachen

Bei der Auswahl der optimalen Sprache für ein Mikrocomputer-Projekt ist eine Reihe von Punkten zu berücksichtigen, die unter Umständen im Lauf der Entwicklung der Grund für ein totales Desaster werden können, wenn sie falsch eingeschätzt werden. Die im Folgenden aufgezählten Punkte sollen eine Hilfestellung zur Auswahl der Programmiersprache geben.

Beherrschung der Sprache

Ein bei der Auswahl einer Programmiersprache wenig beachteter Punkt ist die Beherrschung dieser Programmiersprache. Es ist wenig empfehlenswert, für ein neu entwickeltes System, das noch nicht 100%ig ausgetestet worden ist, eine Programmiersprache zu verwenden, die man nicht total beherrscht. Die Kombination von, mit hoher Wahrscheinlichkeit, gemeinsam auftretenden Hardware- und Softwarefehlern, kann die Entwicklungsarbeit oft um Wochen, wenn nicht um Monate hinaus zögern, was sehr teuer werden kann.

Kosten der Entwicklungsumgebung

Ein weiterer Aspekt sind die Kosten der Entwicklungsumgebung. Darunter versteht man die Kosten aller die Entwicklung unterstützenden Hard- und Software, wie z.B. Emulatoren, Logikanalysatoren, Crossassembler, Crosscompiler, Debugger etc. Diese Kosten hängen zum Teil von der verwendeten Sprache ab, insbesondere wenn man keine der Standardsprachen verwenden will oder kann.

Leistungsfähigkeit der Sprache

Für viele mit Mikroprozessoren gelöste Probleme gibt es gewisse Geschwindigkeits- und/oder Genauigkeitsanforderungen an das endgültige Programm. Es ist also vorher in Testläufen zu klären, ob der ausgewählte Compiler Maschinencode erzeugt, der entsprechend leistungsfähig ist.

ROM-Fähigkeit des EXE-Programms

Ein oft übersehener Punkt ist die Frage, ob der ausgewählte Compiler Maschinencode erzeugen kann, der in einem EPROM ablaufen kann. Dies ist besonders für Controller-Anwendungen wichtig, wo meist wenig RAM, aber relativ viel ROM zur Verfügung steht.

Größe des Endprodukts

Manche Compiler erzeugen zusammen mit den notwendigen Bibliotheken einen sehr 'barocken' Code, so dass selbst für kleinste Anwendungen Programme in der Größe von 40 kByte entstehen. Man sollte daher die Größe des entstehenden Codes abschätzen und den EPROM-Adressraum entsprechend in Einklang bringen (bei den meisten Hochsprachen mit Gleitkomma-Arithmetik wird man mit 32 kByte kaum auskommen).

Vorhandene Bibliotheken

Eine sehr wichtige Frage ist die nach vorhandenen Software-Bibliotheken, deren Qualität und Preis.

Zugriffe auf Hardware möglich?

Viele Anwendungen von Mikroprozessoren verlangen einen direkten Zugriff auf Hardware, die nicht standardmäßig als I/O-Kanal in der mit dem Compiler mitgelieferten Bibliothek vorhanden ist. Für solche Hardware muss ein spezieller Treiber geschrieben werden, der den Zugriff ermöglicht.

Interrupt-Behandlung möglich?

Ein sehr wichtiger Punkt ist die Frage, ob in der gewählten Sprache eine Verarbeitung von Interrupts möglich ist. Sollte das nicht der Fall sein, so ist dies ein Grund, das gewählte Sprachprodukt nicht zu verwenden.

Die folgende etwas eingehendere Beschreibung einer Programmiersprache beschäftigt sich ausschließlich mit der Assemblersprache, da eine Großzahl von Mikroprozessoranwendungen in Assembler geschrieben ist, und man in Assembler praktisch jedes mit einem Mikroprozessor lösbare Problem lösen kann. Außerdem sind Assembler für jede CPU erhältlich, während dies für Hochsprachen nicht immer der Fall ist. Ein Nachteil der Assemblerprogrammierung ist aber sicherlich die schlechtere Effizienz bei der Entwicklung eines Programms.


Last Update: 2008-05-31