Für die weitere Arbeit in diesem Tutorial verwenden wir als Entwicklungsumgebung das UML-Klassendiagramm und portable Klassenbibliotheken (PEC) welche auch die XMC-Controllerfamilie unterstützen. Es ist nötig, dafür ein neues Projekt anzulegen und eine Projektvorlage mit den gewünschten Bibliotheken auszuwählen. Zur Übung schauen wir uns diesen Vorgang noch einmal ausführlicher an. Legen Sie ein neues SiSy-Projekt an und wählen Sie das ARM-Vorgehensmodell.
Sie erhalten verschiedene Vorlagen zur Auswahl. Bitte laden Sie die Vorlage für das PEC FrameWork ohne Beispiele. Schränken Sie die Vorlagensuche ggf. mit dem Suchbegriff PEC ein.
Legen Sie ein neues Klassendiagramm an, indem Sie das entsprechende Element per Drag&Drop aus der Objektbibliothek in das Diagrammfenster ziehen. Achten Sie auf die Einstellung der Zielsprache ARM C++. Beachten Sie die Einstellungen für die Zielplattform XMC4500 Relax Kit.
Öffnen Sie das Klassendiagramm, indem Sie auf diesem das Kontextmenü (rechte Maustaste) öffnen und den Menüpunkt nach unten (öffnen) auswählen. Laden Sie aus der Liste der angebotenen Diagrammvorlagen die Vorlage für eine Application Grundgerüst für PEC Anwendungen (XMC,STM32,AVR). Schränken Sie die Vorlagensuche ggf. mit dem Suchbegriff PEC ein.
Weisen Sie dem Diagramm das Treiberpaket für den konkreten Controller MCU_XMC4500 zu. Sie finden dieses Paket über den Navigator (UML-Pakete) oder über die Suchfunktion im Explorer.
Hinweis: Aktivieren Sie im Diagrammfenster die Schaltfläche Suche MCUs im Explorer. Oben links erscheint das Fenster MCU-Explorer. Ziehen Sie das Objekt MCU_XMC4500 in das Diagrammfenster.
Sie erhalten das nachfolgende Diagramm. Dabei handelt es sich um die typische Grundstruktur einer objektorientierten Anwendung auf der Basis des SiSy XMC Framework.
Die Klasse Controller abstrahiert genau diesen in unserem System und ist eine Realisierung eines PecAppKernel. Es handelt sich um die sogenannte Anwendungsklasse. Diese nimmt die Rolle der gesamten Anwendung ein und muss als erstes ausgeführt werden. Das Objekt app:Controller ist die Instanz der Anwendungsklasse. Über die Referenzen der Pakete Pec und MCU_XMC4500 werden alle benötigten Klassen aus der Bibliothek importiert.
Das Template PecAppKernel stellt bereits eine Reihe von nützlichen Struktur- und Verhaltensmerkmalen einer XMC-Anwendung bereit. Zwei Operationen sind in der Klasse Controller zur Realisierung vorbereitet. Die Operation onStart dient der Initialisierung nach dem Systemstart, bildet also die Initalisierungssequenz. Die Operation onWork wird durch das Framework zyklisch aufgerufen. Damit nimmt diese die Position der Mainloop ein. Beachten Sie, dass die Mainloop jetzt selbst im Framework vor unsern Augen verborgen läuft und nicht mehr von uns geschrieben werden muss. Zur Verdeutlichung und zur Gewöhnung hier das grundsätzliche Verhalten der Anwendung als UML-Sequenzdiagramm.
So wie die Anwendung jetzt vor uns liegt tut das Programm nichts, sondern läuft im Leerlauf. Trotzdem wollen wir aus dem Klassendiagramm den Quellcode generieren, diesen übersetzen und auf den Controller übertragen. Das erfolgt über das Aktionsmenü in der Objektbibliothek. Wählen sie dort den Menüpunkt Erstellen, Brennen & Ausführen.
Damit haben wir auch schon unsere erste objektorientierte XMC-Anwendung erstellt und auf den Controller übertragen. Als Zusammenfassung dieses kurzen Abschnittes das Ganze nochmal als Video.