Review: Ein Blick auf den Arduino Zero
Seite 2: Ports, Pegel und Debugging
Die Portfrage
Der Arduino Zero bietet im Unterschied zu seinen Vorgängermodellen zwei USB-Ports an (s. Abb. 2). Der mit Programming beschriftete ist mit dem EBDG-Chip verbunden, der wiederum für das Umsetzen der weiter unten besprochenen Debugging-Funktionen zuständig ist. Daher bietet es sich an, ihn beim Ausliefern von Programmen zu verwenden.
Der Native-USB-Port ist direkt mit der Mikrocontroller-Unit (MCU) verbunden und sollte zum Ansprechen von USB-Geräten verwendet werden. Besonders interessant ist die vom Arduino Leonardo bekannte Funktion zur Emulation einer Tastatur: Mit ihr ließe sich etwa ein Gerät realisieren, das nach dem Verbinden durch das Absetzen einer bestimmten Tastenfolge ein Programm am Host ausführt.
Geänderte Spannungspegel
Arduinos kamen bisher mit fünf Volt Signalspannung zurecht und erwiesen sich gegen Pin-Überlastung dank einer maximalen Ausgangsleistung von bis zu vierzig Milliampere als tolerant. Wer einem der Pins am Zero hingegen mehr als sieben Milliampere entnimmt, riskiert Überlastung und Zerstörung der MCU. Fast noch wichtiger ist, dass die Signalspannung hart auf drei Volt beschränkt ist. Das Anlegen von höheren Spannungen führt ebenfalls zu irreversiblen Schäden.
Um die digitale Ausgabe zu testen, lässt sich eine weitere Version des zuvor verwendeten Sketch nutzen:
void setup() {
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(13,LOW);
digitalWrite(13,HIGH);
}
Wie im vorigen Beispiel liefert ein angeschlossenes Oszilloskop das in Abbildung 3 gezeigte Schirmbild.
Auf Fehlersuche
Aufgrund der vergleichsweise primitiven, internen Architektur waren Arduinos bisher schwer zu debuggen: Wer sich mit Breakpoints auf Fehlerjagd begeben wollte, musste ein vergleichsweise teures Kommandogerät erwerben.
Der Zero rechtfertigt seinen höheren Preis durch den in der Abbildung 4 gezeigten Zusatzchip, der, etwas vereinfacht gesagt, eine reduzierte Variante des Kommandogeräts darstellt. Leider ist die Arduino-IDE im Moment nicht zum Debugging fähig. Zur Nutzung der neuen Funktion ist daher etwas Zusatzsoftware erforderlich.
Atmel Studio 6.2 steht auf der Webseite des Mikrocontroller-Herstellers zur Verfügung. Nach Bekanntgabe einer gültigen E-Mail-Adresse versendet Atmel einen personalisierten Link, unter dem sich die Entwicklungsumgebung herunterladen lässt. Während der Installation kommt es mitunter zu einer Fehlermeldung, die darauf hinweist, dass einer der USB-Treiber bereits installiert ist. Sie lässt sich bedenkenlos ignorieren. Danach bietet es sich an, die Basisversion von Visual Micros Arduino IDE for Atmel Studio herunterzuladen. Aufgrund eines kleinen Fehlers ist Atmel Studio im Moment nicht in der Lage, ein Deployment durchzuführen. Die Erzeugung einer .bin-Datei schlägt fehl. Um den Code auf den Prozessor zu bringen, kann man daher auf die Arduino-IDE zurückgreifen.
In Atmel Studio ist im nächsten Schritt eine Solution vom Typ Arduino Sketch for 32 Bit zu erstellen. Der im Anschluss automatisch erscheinende Wizard kann geschlossen werden. Als nächstes sollten Nutzer den Inhalt der .ino-Datei durch den Code des in der Arduino-IDE kompilierten Sketches ersetzen. Die Kompilierungs-Toolchain ist so wie in dem in Abbildung 5 hervorgehobenen Teil des Werkzeugs einzustellen. Damit alles funktioniert, müssen Entwickler danach noch den passenden Prozessor auswählen, indem sie auf das entsprechende Symbol klicken (s. Abb. 5). Der im Beispiel verwendete Chip trägt die Bezeichnung ATSAMD21G18A.
Um den Kompiliervorgang zu starten, ist danach auf das Symbol fĂĽr "Start Without Debugging" zu klicken. Der Vorgang scheitert, da die .bin-Datei fehlt. Die Solution ist im Anschluss zu speichern und zu schlieĂźen.