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.