XMC2Go

Beim XMC2Go-Board handelt es sich um einen ARM Cortex M0-basierten Mikrocontroller XMC1100 (64 kB Flash und16 kB RAM) vom Hersteller Infineon.
Die Infineon Technologies AG entstand als deutscher Halbleiterhersteller im Jahr 1999 durch Ausgliederung des Halbleitergeschäfts der Firma Siemens AG und gehört heute zu  den weltweit größten Halbleiterherstellern.

XMC2Go
Dieses zündholzschachtelgroße Entwicklungsboard kann vor allem für Schüler und Studierende als kostengünstiger Einstieg in die Cortex-basierte Mikrocontrollerwelt geshen werden. Um das USB-Programmieren und Debugging zu ermöglichen ist auf dem Board ein weiterer (größerer!) Controller XMC4200 integriert. Er stellt die serielle UART-Schnittstelle des XMC1100 als virtuellen COM Port zur Verfügung. Die Hardware des XMC2Go ist übersichtlich und kann einfach auf einem Breadboard zu Bastelzwecken verdrahtet werden.


XMC2Go Board (Bildquelle: HK2023)

Das Anschalten an den Programmier-PC geschieht über ein USB-C- Anschlusskabel. Beim ersten Einstecken leuchtet die grüne LED und beide rote LEDs blinken abwechseln mit einer Frequenz von ca. 2 Hz. Für die Programmierung bietet sich die Infineon Entwicklungsumgebungen (DAVE, Modus-Toolbox) oder Microsoft VSCode an. Das Programmieren mit VSCode ist für Einsteiger einfacher zu handhaben, da mit Hilfe des Zusatzmoduls PlatformIO viele auf Arduino basierende Tools und Libraries vorliegen.

Weitere Informationen zum Board finden sich im Infineon-Web und bei diversen Distributoren.
- Infineon KIT_XMC_2GO_XMC1100_V1
- Infineon StartGuide
- XMC-for-Arduino auf GitHub

MS Visual Studio Code - Projekt anlegen

Zunächst wird VS-Code gestartet und Platform IO aktiviert (Quick Access - PIO Home - Open)
Innerhalb dieser Projektumgebung kann ein neues Projekt angelegt werden:

Das Projekt erhält einen aussagekräftigen Namen und das Board wird gewählt.
Im Beispiel wurde nicht das vorgeschlagene Standardverzeichnis, sondern D:\Software.Etw\ProjekteMC\Infineon eingestellt.

Die Entwicklungsumgebung wird eingerichtet und das Projekt wird geladen. Der Screesnshot zeit die geöffneten Unterverzeichnisse unterhalb des Projektordners. In platform.ini ist das Board definiert.

Testprogramm coden

Das erste Testprogramm wird in der einzigen Quellcodedatei main.cpp notiert.
Aus der Infineon-Kurzbeschreibung geht hervor, dass die Onboard-LEDs bereits mit digitalen IO-Ports fest verdrahtet sind.

Mit diesen beiden Leuchtdioden soll ein kleines Testprogramm geschrieben werden.
Der AUsscnitt zeigt das Einbinden der Arduino-Bibliothek, das Setup des seriellen Terminals und die Initialisierung der beiden Onboard-LED-Pins.
Im Hauptprogramm (loop) erfolgt das rhythmische wechselseitige Ein- und Ausschalten der LEDs.

Programm compilieren und uploaden

Platform IO bietet innerhalb von VSCode kleine Schaltflächen zum Build und Upload. Im Terminal erfolgt eine Rückmeldung über Erfolg oder eventuelle Fehler.

Funktion testen

Die Programmfunktion wird durch Anzeige der LEDs und durch Ausgabe im Terminal geprüft.

 

Ausblick

Später werden weitere Ein- und Ausgänge angeschaltet. Die folgende Abbildung zeigt die auf dem XMC2Go verwendbaren Portpins.
Die folgende Abbildung zeigt die Pinbelegung mit Funbktionsbezeichnungen, physikalischen Pins und Arduino-Pinnummern.
Zu beachten ist weiterhin: