Workshop Mikrocontroller Programmierung
Lernziel
|
Ziel des Workshops ist es, das Astade Microcontroller Framework kennen zu lernen.
Dieses Framework ermöglicht es, auch auf Systemen ohne Betriebssystem Aufgaben mit
vielen Nebenläufigkeiten gut zu beherrschen.
Das eingebaute Tracing ist ein sehr mächtiges Debugging Hilfsmittel,
das in vielen Fällen bessere Hilfe bietet, als ein Source Level Debugger, da dieser das
Laufzeitverhalten viel stärker beeinflusst.
|
|
Basis des Frameworks bilden die
Zustandsmaschinen.
Im Framework können beliebg viele dieser Maschinen nebeneinander existieren und
miteinander über Messages kommunizieren. Der C oder C++ Code für diese Zustandsmaschinen
wird von Astade automatisch, passend für das zugrunde liegende Framework, generiert.
Der Entwickler implementiert nur noch die "Actions" und die "Guards" die von der
Zustandsmaschine aufgerufen werden und deren Verhalten steuern.
Dadurch entsteht auf sehr einfache Weise ein (kooperatives) Multitasking System, mit
dem auch sehr komplexe Nebenläufigkeiten beherrscht werden können.
|
Leistung
|
Der Workshop wird auf einem atmega128 Evaluation board durchgeführt.
Jeder Teilnehmer bekommt ein eigenes Board, inclusive einem dazu passenden
Programmiergerät für den atmega128. Beides kann er auch nach dem Workshop behalten.
Die Teilnehmer arbeiten mit ihrem eigenen Computer (am besten ein Laptop) auf dem
die Toolchain während des Workshops installiert wird.
Die Toolchain kann unter Linux (Ubuntu) oder Windows installiert werden.
Die Toolchain steht komplett als Open Source im Internet zur Verfügung.
Es entstehen also keine Lizenzkosten und die installierte Toolchain kann nach dem
Workshop auf den Teilnehmer PCs bleiben.
Teilnehmer sollten die Programmiersprache C beherrschen. Außerdem wird ein gewisses
Grundverstäntniss für Objektorientierte Konzepte vorausgesetzt.
|
Agenda
9.00 Uhr:
|
Begrüßung, gegenseitiges Vorstellen
|
9.15 Uhr:
|
Inbetriebnahme der Laptops.
- Einrichten des Lan oder WLan
- Installation der Tools (avr-gcc, avr-dude, Astade)
|
10.15 Uhr:
|
Kurze Demonstration einer Beispielanwendung am Beamer.
|
10.30 Uhr:
|
Kaffeepause
|
10.45 Uhr:
|
Die erste "hello world" Anwendung auf dem Mikrocontroller
Jeder entwickelt für sich eine "hello world" Anwendung unter Astade, die
auf dem Mikrocontroller läuft. Dabei lernen wir kennen: den Compiler,
den Programmierer, das Makefile.
|
12.00 Uhr:
|
Theorie
Am Beamer werden anhand von Klassendiagrammen, Komponentendiagrammen, Beispielcode und
Sequencediagrammen die Funktionsweise des Astade C Fameworks erklärt.
- Was sind Messages?
- Wo genau ist das Tracen implementiert?
- Woher weiß das Framework was getraced werden soll?
- Wie kann das Framework auf andere Plattformen (andere Controller) angepasst werden?
|
12.30 Uhr:
|
Mittagspause
|
13.15 Uhr:
|
Entwickeln einer Beispiel Application mit dem Framework.
- Interrupt Treiber für die Taster
- Zustandsautomat für die Entprellung
- Zustandsautomat für die Steuerung einiger LEDs, abhängig von den
gedrückten Tasten (z.B. ähnlich Treppenhauslicht)
Dabei lernen wir kennen
- Das Framework
- Wie man aus der Astade Oberfläche tracen kann
- Wie man Zustandsautomaten zur Software Entwicklung nutzt
|
15.00 Uhr:
|
Kaffeepause
|
15.15 Uhr:
|
Kurze Diskussion
Jeder berichtet von seinen Erfahrungen.
- Welchen Nutzen hat das Pattern?
- Wo kann es Helfen?
- Möglicherweise Diskussion konkreter, geplanter Anwendungen.
- Komponenten Diagramme?
|
15.30 Uhr:
|
Demonstration eines Web Servers für Mikrocontroller.
- TCP/IP Realisierung
- Zustandsautomat Webserver
- Zustandsautomat DHCP
- Sequencediagramme
- Der Webserver in Aktion
|
ca. 16.00 Uhr:
|
Ende der Veranstaltung
|
Termine
Genauer Termin und Ort wird noch bekannt gegeben.
Sollten Sie Interesse an Terminen haben oder den Wokshop bei Ihnen im Haus
durchführen wollen, dann schicken Sie mir eine eMail an kontakt@consulting.astade.de
Anmeldung
Die Anmeldung zum Workshop erfolgt formlos per eMail an kontakt@consulting.astade.de.
Die Kosten betragen EUR 380.00 pro Teilnehmer und Enthalten ein Controllerboard und ein Programmiergerät. Ein PC wird nicht gestellt.
Jeder Teilnehmer sollte daher seinen eigenen PC (Laptop) zur Veranstaltung mitbringen.
|