Anbieter zum Thema
Sobald alles angeschlossen ist, wird die übliche Desktop-Umgebung von Ubuntu angezeigt. Ein praktischer Hinweis hier ist, nach dem Starten die Befehlszeile und die Ausgaben vom Kernel auch auf den seriellen Mini-USB-Stecker zu übertragen. Durch den Anschluss eines PCs mit einer Anwendung, die ein serielles Terminal darstellt, zum Beispiel Serial Tools on Mac OSX, und dem Laden des Treibers Silicon Labs VCP können Anwender etwaige Fehler beim Booten diagnostizieren, zum Beispiel ein nicht korrektes Erkennen des HDMI-Displays.
Die Ubuntu-Distribution enthält alle üblichen Linux-Anwendungen und Befehlszeilen-Werkzeuge, wartet aber auch mit Python 2.7 und einer UDOO-spezifischen Version der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) von Arduino auf. Entwickler, die bereits mit dem Schreiben von Arduino-Skripten vertraut sind, können mit der IDE von Ubuntu aus direkt mit der Arbeit loslegen.
Falls erforderlich, kann mit der Änderung eines Jumpers auf der Platine und der Verwendung einer gepatchten Arduino-IDE eine direkte Verbindung zum Cortex-M3 über den gemeinsamen USB-Stecker hergestellt werden. Dadurch, dass Skripte über Ubuntu problemlos codiert und auf das Atmel-Bauteil heruntergeladen werden können, ist die gesamte Anwendung äußerst einfach.
Die Bauteile i.MX6 und SAM3X8E sind beide eigenständig und verwenden eigene Taktvorgaben und einen eigenen Speicher. Einige der Kommunikationskanäle werden gemeinsam genutzt: die serielle UART-Schnittstelle, der USB-OTG-Bus und die Mehrzahl der externen GPIO-Pinbelegung. Jeder gemeinsam genutzte GPIO kann entweder auf Eingang oder auf Ausgang gestellt werden. Beim Eingangsmodus kann jeder Prozessor den Eingangspegel lesen. Gleiches gilt für den Ausgangsmodus, bei dem beide Prozessoren alle digitalen Pins auf High oder Low setzen können. Die Pinbelegung kann ebenfalls über einen Multiplexbetrieb der Software geändert werden, wobei jeder Pin bis zu 8 verschiedene Funktionen haben kann.
Mithilfe der Arduino-Programmiersprache wird die Richtung der Anschlüsse auf die folgende Art und Weise eingestellt:
Wenn 2 der einzustellende Pin ist:
pinMode(2, INPUT);
(siehe Anwendung in unten stehendem Beispiel)
oder
pinMode(2, OUTPUT);
Nach erfolgter Einstellung kann der entsprechende Pinwert mit der Funktion digitalRead() gelesen oder mit digitalWrite() geschrieben werden. Unter Linux verwaltet der Kernel den Zugriff über Schreib- oder Lesefunktionen für Dateien. Jeder verwaltbare GPIO hat seinen eigenen Ordner namens /sys/class/gpio, der Richtung und Wert des Anschlusses kontrolliert.
In der Befehlszeile, wenn 12 der einzustellende GPIO ist:
echo out > /sys/class/gpio/gpio12/in
oder
echo in > /sys/class/gpio/gpio12/out
Der Pinwert kann mithilfe von cat /sys/class/gpio/gpio12/value gelesen und mithilfe von echo 0(or 1) > /sys/class/gpio/gpio12/value geschrieben werden.
Sobald ein Anschluss fertig eingerichtet ist, muss dieser mit dem Befehl unexport freigegeben werden. Solche Anweisungen aus der Befehlszeile können auch von einer anspruchsvolleren Sprache aus, wie z. B. Python, gegeben werden.
(ID:42921844)