Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
software:linux:emdebian:zoom [2013-07-12 14:18] kalberersoftware:linux:emdebian:zoom [2018-06-12 15:08] graf
Zeile 4: Zeile 4:
 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, die per Touch bedienbar ist. Mit der Emdebian Crosstoolchain werden dann die auf dem Host geschriebenen Treiber usw. crosscompiliert und per SSH auf das Target geladen. 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, die per Touch bedienbar ist. Mit der Emdebian Crosstoolchain werden dann die auf dem Host geschriebenen Treiber usw. crosscompiliert und per SSH auf das Target geladen.
  
-===== Cross-Compilieren für das Zoom Board =====+==== Cross-Compilieren für das Zoom Board ====
 Wie C-Sourcen oder Kernelmodule mit der Emdebian Toolchain übersetzt werden können ist unter [[.:cross_compile|Cross-Compilieren mit Emdebian]] zu finden.\\ Wie C-Sourcen oder Kernelmodule mit der Emdebian Toolchain übersetzt werden können ist unter [[.:cross_compile|Cross-Compilieren mit Emdebian]] zu finden.\\
  
 +==== 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: <code>scp filename username@hostnameTarget:/folder/In/Filesystem 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: <code>scp filename username@hostnameTarget:/folder/In/Filesystem
 zum Beispiel: zum Beispiel:
 scp hello.ko root@es092:/media/ram</code> scp hello.ko root@es092:/media/ram</code>
-Das oben angegebene Verzeichnis ///media/ram// wird bei jedem Booten des Targets gelöscht, verhält sich also wie ein RAM und ist damit praktisch, um kurz etwas auszuprobieren.\\ +Das oben angegebene Verzeichnis ///media/ram// wird bei jedem Booten des Targets gelöscht, verhält sich also wie ein RAM und ist damit praktisch, um kurz etwas auszuprobieren.
-Bei einem Kernel-Update erhält das Target einen neuen RSA key. Dadurch kann keine SSH-Verbindung mehr hergestellt werden, falls mit dem gleichen Host schon mal eine SSH Verbindung bestanden hatte. Es erscheint nur noch die Warnung ''Warning: Remote Host Identification has changed''. In diesem Falle muss der alte Key gelöscht werden. Dies erfolgt mittels <code>ssh-keygen -R hostname</code> +
-Wobei bei //hostname// der Hostname oder die IP-Adresse des entsprechenden Zoom Boards einzutragen ist. Beim nächsten Verbindungsversuch wird dann der neue Key übernommen.+
  
-===== Kernel Update =====+Auf dem Zoom Board ist ein Dropbear SSH-Daemon installiert. Falls dieser nicht aktiv ist, kann er folgendermassen über die Konsole gestartet werden:<code>/etc/init.d/dropbear start</code> 
 + 
 +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 ''Warning: Remote Host Identification has changed''. In diesem Falle muss der alte Key gelöscht werden. Dies erfolgt mittels <code>ssh-keygen -R hostname</code> 
 +Wobei bei //hostname// der Hostname oder die IP-Adresse des entsprechenden Zoom Boards einzutragen ist. Beim nächsten Verbindungsversuch wird dann der neue Key generiert.
  
-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 [[..:linux-kernel_kreuzkompilieren|Linux-Kernel kreuzkompilieren]] zu finden. 
  
 ==== Bootloader ==== ==== Bootloader ====
Zeile 39: Zeile 40:
  
 ===== SD Karte formatieren ===== ===== SD Karte formatieren =====
-Mit dem SDK von Texas Instruments wird ein Shell mitgeliefert, mit welchem SD-Karten für das Zoom Board formatiert und partitioniert werden können. Dabei wird auch eine Partition mit dem rootfs erstellt.\\+Mit dem SDK von Texas Instruments wird eine Shell mitgeliefert, mit welchem SD-Karten für das Zoom Board formatiert und partitioniert werden können. Dabei wird auch eine Partition mit dem rootfs erstellt. **Achtung: Das SDK von TI benötigt zur Zeit ein Ubuntu 10.04 LTS, sonst funktioniert es nicht!**\\
 Das Formatieren erfolgt mit folgenden Schritten: Das Formatieren erfolgt mit folgenden Schritten:
   - SD Karte mit Kartenleser anschliessen und mit ''dmesg'' Device Node herausfinden. Dies unbedingt überprüfen, damit nicht aus Versehen das falsche Device formatiert wird! Dies wird etwa so aussehen: <code>host $ dmesg   - SD Karte mit Kartenleser anschliessen und mit ''dmesg'' Device Node herausfinden. Dies unbedingt überprüfen, damit nicht aus Versehen das falsche Device formatiert wird! Dies wird etwa so aussehen: <code>host $ dmesg
Zeile 45: Zeile 46:
 [ 2160.114041] sd 4:0:0:0: [sdb] Assuming drive cache: write through [ 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</code> In diesem Fall ist der SD Karte /dev/sdb zugewiesen worden. [ 2160.114044] sd 4:0:0:0: [sdb] Attached SCSI removable disk</code> In diesem Fall ist der SD Karte /dev/sdb zugewiesen worden.
-  - 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: <code>sudo bin/mksdboot.sh --device /dev/sdb --sdk /home/ntbuserti/Documents/dvdsdk_TI</code> Es wird mit einem Konsolen-Output nochmals nachgefragt, ob auch wirklich das richtige Device angegeben wurde für das Formatieren, dies ist nochmals zu überprüfen und durch Enter drücken zu bestätigen.+  - 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: <code>sudo bin/mksdboot.sh --device <device> --sdk <fullPathToSDK></code> Zum Beispiel: <code>sudo bin/mksdboot.sh --device /dev/sdb --sdk /home/ntbuserti/Documents/dvdsdk_TI</code> Es wird mit einem Konsolen-Output nochmals nachgefragt, ob auch wirklich das richtige Device angegeben wurde für das Formatieren, dies ist nochmals zu überprüfen und durch Enter drücken zu bestätigen.
   - Auf die so erstellte Karte kann anschliessend bei Bedarf ein neuer Kernel in die START_HERE Partition ins root-Verzeichnis kopiert werden.   - 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 | 
- 
-{{:software:linux:emdebian:zoom:omap-l138_baseboard_schematic.pdf|Schema OMAPL138 Zoom Baseboard}}\\ 
-{{:software:linux:emdebian:zoom:schemazusatzboardzoomboard.pdf|Schema Zusatzboard}}\\ 
- 
-=== 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 | 
-