Grundsätzlicher Ablauf bei der Programmierung von Mikrocontrollern

Bevor wir uns an die Ampel machen, muss zuerst grundlegendes Wissen zur Mikrocontrollerprogrammierung vorhanden sein. Dazu zählt vor allem auch, wie das Programm in den Mikrocontroller kommt.

Am Anfang steht meistens die Idee, was genau man eigentlich machen möchte. Das ist in unserem Fall die Idee einer Ampel. Aus dieser Idee müssen sich konkrete Vorstellungen ableiten, was alles an Teilen benötigt wird. Das haben wir (im Prinzip) auch schon getan, siehe Teileliste.

Sind die Teile vorhanden, gilt es diese in eine Schaltung einzubauen. Das werden wir in Schritt 4 dieses Tutorials erledigen. Steht die Schaltung, so kann man mit dem Programmieren beginnen (man kann natürlich auch schon anfangen, wenn die Schaltung noch nicht gebaut ist, dann muss aber genau festgelegt sein, wie die Schaltung anschließend gebaut wird, sonst darf man das komplette Programm wieder verändern).

Ist das Programm geschrieben, so liegt es zunächst als Source-Code (in unserem Fall C-Code) vor. Diesen Code muss man nun in Maschinencode für den jeweiligen Mikrocontroller übersetzen. Diese Aufgabe übernimmt der Compiler. In diesem Tutorial verwenden wir dafür den avr-gcc.

Der fertige Maschinencode muss dann von der Entwicklungsumgebung in den Mikrocontroller gebracht werden. Dafür stehen verschiedene Wege zur Verfügung. Wir beschränken uns auf den für uns einfachsten Weg der ISP Programmierung. ISP bedeutet dabei „In System Programming“, was bedeuten soll, dass der Controller direkt in seiner späteren Umgebung programmiert wird. Das ist besonders praktisch, da man so leicht auch während der Programmierung Testläufe auf der „echten Hardware“ durchführen kann.

TODO (Evtl noch was über die versch. ISP Adapter)