Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:linux:emdebian:zoom [2013-12-11 13:13] – kalberer | software:linux:emdebian:zoom [2018-06-12 15:10] (aktuell) – gelöscht graf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Emdebian auf dem Zoom Board ====== | ||
- | Die Emdebian Crosstoolchain wird in unserem Institut zum Beispiel für den [[http:// | ||
- | |||
- | Das Board wird im Unterricht eingesetzt und zur Zeit mit dem bereits von Texas Instruments bereitgestellten Filesystem betrieben. Auf dem Display wird eine mit QT erstellte Oberfläche dargestellt, | ||
- | |||
- | ==== Cross-Compilieren für das Zoom Board ==== | ||
- | Wie C-Sourcen oder Kernelmodule mit der Emdebian Toolchain übersetzt werden können ist unter [[.: | ||
- | |||
- | ==== Datenübertragung mit SSH ==== | ||
- | Die einfachste Variante die Kompilate anschliessend auf das Target zu kopieren ist via SSH. Alle Boards sind für die NTB-Infrastruktur registriert und können so einfach via Hostname über das Netzwerk angesprochen werden. Die Files werden dann am einfachsten mit //scp// kopiert: < | ||
- | zum Beispiel: | ||
- | scp hello.ko root@es092:/ | ||
- | Das oben angegebene Verzeichnis /// | ||
- | |||
- | Auf dem Zoom Board ist ein Dropbear SSH-Daemon installiert. Falls dieser nicht aktiv ist, kann er folgendermassen über die Konsole gestartet werden:< | ||
- | |||
- | Bei einem Kernel-Update erhält das Target einen neuen RSA key. Dadurch kann anschliessend keine SSH-Verbindung mehr hergestellt werden, falls mit dem gleichen Host schon mal eine SSH Verbindung bestanden hatte. Es erscheint nur noch die Warnung '' | ||
- | Wobei bei // | ||
- | |||
- | ===== Kernel Update ===== | ||
- | |||
- | Auf dem Zoom Board befindet sich momentan ein Linux Kernel der Version 2.6.37. Wie ein Kernel, zum Beispiel für das Zoom Board, kreuzkompiliert werden kann, ist unter [[..: | ||
- | |||
- | ==== Bootloader ==== | ||
- | |||
- | Das Zoom Board hat ein U-Boot (Universal Boot Loader) installiert. Der kreuzkompilierte Kernel muss noch in ein entsprechendes uImage konvertiert werden, wobei zum Beispiel die Startadresse für das Aufstarten gesetzt werden muss etc. Dies erfolgt mit folgendem Befehl: < | ||
- | |||
- | with: -A -> set architecture to ' | ||
- | -O -> set operating system to ' | ||
- | -T -> set image type to ' | ||
- | -C -> set compression type ' | ||
- | -a -> set load address to ' | ||
- | -e -> set entry point to ' | ||
- | -n -> set image name to ' | ||
- | -d -> use image data from ' | ||
- | and how generated image should be named ' | ||
- | -x -> set XIP (execute in place)</ | ||
- | Für unser Beispiel ergibt dies folgenden Konsolen-Befehl:< | ||
- | mkimage -A arm -O linux -T kernel -C none -a 0xC008000 -e 0xC0008000 -n ' | ||
- | |||
- | Ob das Image komprimiert werden soll oder nicht, hängt vom verfügbaren Speicherplatz ab. | ||
- | Das neu erstellte uImage muss anschliessend auf die SD-Karte des Zoom Boards auf die Partition START_HERE kopiert werden. Beim nächsten Aufstarten wird der Kernel von dort geladen. | ||
- | |||
- | ===== SD Karte formatieren ===== | ||
- | Mit dem SDK von Texas Instruments wird eine Shell mitgeliefert, | ||
- | Das Formatieren erfolgt mit folgenden Schritten: | ||
- | - SD Karte mit Kartenleser anschliessen und mit '' | ||
- | [ 2160.060627] | ||
- | [ 2160.114041] sd 4:0:0:0: [sdb] Assuming drive cache: write through | ||
- | [ 2160.114044] sd 4:0:0:0: [sdb] Attached SCSI removable disk</ | ||
- | - mksdboot Skript des TI SDKs ausführen mit Angabe des richtigen Devices! Dazu wird mit einer Konsole ins Hauptverzeichnis des SDK gewechselt und folgender Befehl ausgeführt: | ||
- | - Auf die so erstellte Karte kann anschliessend bei Bedarf ein neuer Kernel in die START_HERE Partition ins root-Verzeichnis kopiert werden. | ||
- | |||
- | ===== Zusatzboard GPIO ===== | ||
- | Im Betriebssystem-Unterricht besteht ein Ziel darin, einen GPIO-Treiber von Grund auf selber zu schreiben. Da die beiden LED sowie Taster auf dem Zoom Board nicht als normale GPIO benützt werden können, sondern via I²C-Expander Bus angeschlossen sind, wurde für an Stecker J30 ein Zusatzboard hergestellt.\\ | ||
- | |||
- | Dabei ist zu beachten, dass die Pins des OMAP-Prozessors gemultiplext sind, das heisst zum Beispiel, der auf dem Zusatzboard verwendete GP0[2] ist auch noch ein Pin der McBSP usw. Falls also die McBSP ebenfalls verwendet werden möchte, darf unter Umständen dieser Pin nicht als GPIO konfiguriert werden. | ||
- | |||
- | ^ I/0 ^ Pin ^ Alternativ-Funktionen ^ | ||
- | | GP0[0] | 92 | AXR8 / CLKS1 / ECAP1_APWM1 | | ||
- | | GP0[1] | 81 | AXR9 / DX1 | | ||
- | | GP0[2] | 23 | AXR10 / DR1 | | ||
- | | GP0[6] | 17 | AXR14 / CLKR1 | | ||
- | | GP0[13] | 73 | AFSR | | ||
- | | GP0[15] | 77 | ACLKR | | ||
- | |||
- | {{: | ||
- | {{: | ||
- | |||
- | === Steckverbinder === | ||
- | Das Zusatzboard ist über einen Stecker mit 100 Pins angeschlossen. Auf dem Board sind noch vier weitere Stecker gleichen Typs vorhanden. Diese haben folgende Bezeichnung: | ||
- | |||
- | ^ Beschreibung ^ Bezeichnung ^ Lieferant ^ Bestellnummer ^ | ||
- | | Stecker | DF40C-100DS-0.4V(51) | Mouser | 798-DF40C100DS0.4V51 | | ||
- | | Buchse | DF40C-100DP-0.4V(51) | Mouser | 798-DF40C100DP0.4V51 | | ||