Hallo Mario,
Beim µC hast du meistens kein Betriebssystem.
Die Firmware besteht also aus dem Anwendungsteil, den Hardware-Treibern und den Interrupt-Handlern, welche dann Teilweise die Hardware-Treiber enthalten.
Die erste grosse Quizfrage ist dann, ob das ganze einigermassen dokumentiert ist.
Das nächste ist, wie modular sie Software aufgebaut ist. Da gibt es Programmierer die alles irgendwie durcheinander mischen, also Anwendung und Treiber. Wenn man dann z.B. etwas im Menü ändert, ändert man gleichzeitig das Timing der I/Os, was dann gerne zu seltsamen Effekten führt
Ich habe da schon Projekte übernommen, bei welchen die ganze Firmware aus einer einzigen c.Datei bestand.
Ist dann bei 5-6T Zeilen etwas mühsam in der Handhabung.
Auch hat man da keine Übersicht über Modulgrenzen.
Bei mir besteht ein Modul aus der .c-Datei und einer gleichnamigen .h. Die .h beschreibt im Prinzip das Interface, enthält also alle öffentlichen Deklarationen und Konstanten. Lokale Konstanten usw. befinden sich dann in der .c. Grundsätzlich deklariere ich alle lokalen Funktionen noch als static, somit sind sie ausserhalb des Moduls nicht sichtbar, was versehentliche direkte Aufrufe von ausserhalb verhindert und zudem weniger Namenskonflikte beim Linken erzeugt.
Also im Prinzip so, wie man sich das von C++ gewohnt ist, nur das man keine direkte Unterstützung vom Compiler hat.
MfG Peter(TOO)
Lesezeichen