Forum: Mikrocontroller und Digitale Elektronik Wie ANSI C Programm planen


von Marco Blom (Gast)


Lesenswert?

Hi,
wie plant ihr eigentlich Software für den Embedded Bereich? Das man für 
C++ (also Objektorientiertes programmieren) UML verwendet ist mir klar, 
nur wie macht man das für das stink normal ANSI C? Kennt ihr da gute 
(möglichst freie) Software oder Bücher/Internetseiten?

Gruss

Marco

von Kurt (Gast)


Lesenswert?

Zettel und Stift...soll es auf einem Schreibtisch geben....hab ich mal 
gehört ;)

von Markus (Gast)


Lesenswert?

Ich würde folgenden Ablauf für die Programmplanung vorschlagen:

- "Lastenheft" schreiben (auf Papier), d.h. festlegen was wie, wann und 
in welcher Form rein und raus kommt, und was das Programm überhaupt 
alles machen soll. Also ein vollständiger Überblick über das externe 
Verhalten deines Programms/µCs

- Zustandsdiagramm und Flussdiagramm entwerfen (auf Papier)

- Aufteilung in Funktionen, mit Festlegung der Funktionsprototyen mit 
Datentypen und dem gewünschten Verhalten der einzelnen Funktionen sowohl 
im Regel- als auch im Fehlerfall (evtl. nochmal Fluss- und/oder 
Zustandsdiagramm für jede Funktion). Bei µC solltest Du ab hier schon 
auf das Einpassen deiner Logig in die vorhandenen Ressourcen (Register, 
Zähler, I/O-Ports, verwendung passender Datentypen, etc.) achten, damit 
Du alles unterbringst. (alles immer noch auf Papier)

- Wenn Du es ganz amtlich machen willst definierst Du zu jeder Funktion 
noch einen Test. Das ist ein kleines Script das die Funktion mit 
typischen Eingabewerten innerhalb und außerhalb des definierten 
Bereiches füttert, und die Rückgabe des korrekten Ergebnisses bzw. der 
korrekten Fehlermeldung überprüft. Ich gah mal nicht ins Detail, da 
gibts massenweise Literatur dazu.

Wenn Du die Planung hast ist das Schlimmste eigentlich überstanden.

- Jetzt schmeißt du vi oder den Editor deiner Wahl an. Am besten 
schreibst Du zuerst die Tests (wenn Du welche machst), und dann kannst 
Du die Funktionen der Reihe nach schreiben. main() zuletzt. Da Du alles 
detailliert geplant hast sollten in dieser Phase keine großen 
Überlegungen mehr nötig sein, Du übersetzt einfach deine Flussdiagramme 
in gültiges ANSI-C bzw den C-Dialekt für deinen µC.

- Und am Schluss steht natürlich wie überall das Debuggen im Emulator 
und schließlich der Upload in den µC.

Bei ganz einfachen Programmen kannst Du natürlich einen oder mehrere der 
anfänglichen Planungsschritte auch im Kopf machen.

Viel Erfolg.

von Ralph (Gast)


Lesenswert?

< Wenn Du die Planung hast ist das Schlimmste eigentlich überstanden.>

Und wenn du hier angekommen bist, hast du die notwendigen Informationen 
um den passenden µC auszuwählen.

von DerSchelm (Gast)


Lesenswert?

Schau mal unter "V-Modell". Ist gar nicht schlecht.

Markus hat übrigens recht damit, Tests früh einplanen. Es hilft immens! 
Wollte ich noch mal betonen, damit es nicht untergeht. Hier tue ich mich 
übrigens sehr schwer, ich denke, ich werde da mal einen Thread 
aufmachen.

von Markus (Gast)


Lesenswert?

>> < Wenn Du die Planung hast ist das Schlimmste eigentlich überstanden.>

>Und wenn du hier angekommen bist, hast du die notwendigen Informationen
>um den passenden µC auszuwählen.

Ok, ich bin von einem festgelegten µC ausgegeangen, für den ein Programm 
geschrieben werden soll. Aber Du hast recht, wenn erst das Programm 
definiert wurde ist an dieser Stelle der Zeitpunkt gekommen um den 
richtigen µC auszuwählen

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
Noch kein Account? Hier anmelden.