Gumstix-FAQ

Aus Labor für Echtzeitsysteme

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Allgemeines

Das gelieferte Verdex-Board ist mit der folgenden Revision geliefert worden:

# cat /etc/gumstix-release
DISTRIB_ID='gumstix'
DISTRIB_DESCRIPTION=''
DISTRIB_RELEASE='1321'
DISTRIB_CODENAME=''
BUILD_DATE='Thu Mar 1 17:11:07 PST 2007'
BUILD_HOSTNAME='azazel.hughes-family.org'
#                 

Inbetriebnahme

Hardware

  • console-vx eventuell mit zwei Kabeln (Plus/Minus) für die Stromversorgung ausrüsten. Das ist allerdings nicht unbedingt notwendig, weil sich das Board auch per USB mit Strom versorgen lässt.
  • 3 Kabel an eine 9-polige SUB-D Buchse anlöten (Pin 2, 3 und 5). Die Kabel sollten einen solchen Querschnitt haben, dass sie sich in die vorhandene runde Buchse auf das Board console-vx stecken lassen (mittlere Buchse).
  • Motherboard und Konsolenboard zusammenstecken.

Software

  • Am einfachsten ist es, eine Datei .kermrc mit folgendem Inhalt anlegen:
set line /dev/ttyUSB0
set speed 115200
set reliable
fast
set carrier-watch off
set flow-control none
set prefixing all
set file type bin
set rec pack 4096
set send pack 4096
set window 5
set transfer protocol zmodem {rz} {rz} {sz -w 10000 %s} {sz -w 10000 - a %s} {rz} {rz}

Die letzte Zeile ist notwendig (und steht nicht im Gumstix-Wiki), damit sich per ZModem auch bei Einsatz eines USB-Seriell-Konverters Dateien transferieren lassen. Eventuell müssen Sie /dev/ttyUSB0 gegen /dev/ttyUSB1 austauschen.

  • Starten Sie auf dem Host System C-Kermit.
    kermit
  • Verbinden Sie sich mit dem Target (Gumstix) durch Eingabe von connect. Danach sollten die Ausgaben des Gumstix auf dem Host erscheinen.
quade@ezs-mobil:~$ kermit
C-Kermit 8.0.211, 10 Apr 2004, for Linux
 Copyright (C) 1985, 2004,
  Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/home/quade/) C-Kermit>connect
Connecting to /dev/ttyUSB0, speed 115200
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------



Welcome to the Gumstix Linux Distribution!

gumstix login: root
Password: gumstix
Welcome to Gumstix!
By default, this gumstix is configured for CF support.
Unfortunately, this means MMC support has been
disabled out of the box.  To turn on MMC and turn off CF,
edit the file /etc/modules and comment out or delete the pcmcia (CF)
line, and uncomment the MMC lines.  You then also need to comment out
or remove the line "auto mwlan0" in /etc/network/interfaces if it
exists, since it will otherwise cause the pcmcia driver to be loaded.
#
  • Loggen Sie sich auf dem Gumstix mit dem Loginnamen root und dem Passwort gumstix ein.
  • Um wieder zum Kermit-Prompt zu kommen, geben Sie <CTRL>\c (Control-Backslash C) ein.
  • Um Kermit zu beenden geben Sie beim Kermit-Prompt exit ein.

Datentransfer über die seriellen Schnittstelle (Linux)

  • Daten lassen sich über das ZModem-Protokoll zwischen Host und Target tranferieren. Dazu muss auf dem Hostsystem das Paket lrzsz installiert sein.
    apt-get install lrzsz
  • Um Daten vom Host auf den Target zu übertragen, verbinden Sie sich auf dem Target mit Hilfe von Kermit und starten dann (im richtigen Verzeichnis) rz.
  • Kehren Sie per Controll-Sequenz (Control-Backslash C) auf den Kermit-Prompt zurück und verschicken Sie die Datei mit Hilfe des Kommandos send.
# cd /tmp/
# rz
�z waiting to receive.**▒B0100000023be50
(Back at ezs-mobil)
----------------------------------------------------
(/home/quade/) C-Kermit>send /tmp/hello
Sende: hello
Bytes gesendet:   5068   BPS:9087

Übertragung abgeschlossen
(/home/quade/) C-Kermit>connect
Connecting to /dev/ttyUSB0, speed 115200
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------
#
  • Um Daten vom Target auf den Host zu übertragen, müssen Sie auf dem Target nur das Kommando sz <Dateiname> eingeben.
#
# sz messages
**▒B0▒▒▒
----------------------------------------------------
Empfange: messages
Bytes empfangen:  11914/  11914   BPS:11321

Übertragung abgeschlossen
----------------------------------------------------
�00000000000
#

Datentransfer über die serielle Schnittstelle (u-boot)

...

Bluetooth

BLUETOOTH SCHEINT MIT DEM VERDEX-BOARD ZUR ZEIT NICHT UNTERSTÜTZT ZU WERDEN. EINE LÖSUNG FÜR DAS PROBLEM IST BISHER NOCH NICHT BEKANNT.

Prinzipiell ist Bluetooth im Auslieferzustand bereits aktiviert (funktioniert eben aber leider nicht). Ansonsten ist Bluetooth über init zu aktivieren:

# /etc/init.d/S30bluetooth start

Zur Zeit gibt es noch die folgende Ausgabe, wenn das Kommando ausgeführt wird:

# /etc/init.d/S30bluetooth start
Starting 32kHz clock...Settled
Starting Bluetooth subsystem:Trying baud rate 115200...
Set (GPIO,out,clear) via /proc/gpio/GPIO12
Set (GPIO,out,set) via /proc/gpio/GPIO12
Got response after reset... gobbling
Read wrong response size: 4
0x04 0xff 0x01 0x00 Trying baud rate 921600...
Set (GPIO,out,clear) via /proc/gpio/GPIO12
Set (GPIO,out,set) via /proc/gpio/GPIO12
Got response after reset... gobbling
Error reading response: Success
Trying baud rate 115200...
Set (GPIO,out,clear) via /proc/gpio/GPIO12
Set (GPIO,out,set) via /proc/gpio/GPIO12
Got response after reset... gobbling
Read wrong response size: 4
0x04 0xff 0x01 0x00 Trying baud rate 57600...
Set (GPIO,out,clear) via /proc/gpio/GPIO12
Set (GPIO,out,set) via /proc/gpio/GPIO12
Got response after reset... gobbling
Error reading response: Success
Can't initialize device: Success
#

USB-Net

USBNET SCHEINT ZUR ZEIT VOM VERDEX-BOARD NICHT UNTERSTÜTZT ZU WERDEN!!!

So würde es aber aller Voraussicht nach gehen:

  • Per usbnet lassen sich mit tcp/ip Daten über USB austauschen. Dazu muss das Target eine USB-Client Schnittstelle (wie auf dem Board console-vx) verfügen. Auf dem Client kann die Schnittstelle per serieller Konsole direkt konfiguriert werden. Der notwendige usbnet-Treiber ist im mitgelieferten Kernel fest eincompiliert.
# ifconfig usb0 192.168.1.1
  • Auf dem Hostsystem müssen die Treiber usbnet und cdc-subnet geladen sein:
root@ezs-mobil# modprobe usbnet
root@ezs-mobil# modprobe cdc-subnet
  • Danach sollte die Konfiguration der usb-Schnittstelle möglich sein:
root@ezs-mobil# ifconfig usb0 192.168.1.2
  • Jetzt sollte die Verbindung zwischen den beiden Rechner stehen...

USB-WLAN

Nach den gegenwärtigen Recherchen wird am besten ein USB-Wlan-Adapter mit einem RALINK-Chipsatz unterstützt.

TBD.

Entwicklungsumgebung einspielen

Die Entwicklungsumgebung beruht auf buildroot. Die notwendigen Quell- und Generierungsdateien befinden sich auf dem Subversion-Server von Gumstix. Für das Einspielen der Entwicklungsumgebung ist ein Internetzugang notwendig.

Für die verschiedenen Gumstix-Boards gibt es auch verschiedene Entwicklungsumgebungen. Der im Wiki typischerweise angegebene Pfad scheint für das Basix- und das Connex-Board zu sein. Für das Verdex-Board werden mit dem folgenden Kommando die relevanten Dateien ausgecheckt:

svn co  http://svn.gumstix.com/gumstix-buildroot/branches/users/craig/270 gumstix-buildroot

Damit liegt die aktuelle Version im Unterordner gumstix-buildroot vor. Zur Generierung müssen eine Reihe von Paketen auf dem Hostsystem vorhanden sein.

apt-get install autoconf # Liste muss ergänzt werden!!!

Sind die Datein heruntergeladen, wird per make der Generierungsprozess angestossen. Dabei werden die aktuellen Pakete (z.B. der Linux-Kernel) von den entsprechenden Servern (z.B. http://www.kernel.org)

Um eine andere Version der Entwicklungsumgebung einzuspielen, wird beim co-Kommando die Releasenummer mit angegeben:

svn co -r1321 http://svn.gumstix.com/gumstix-buildroot/branches/users/craig/270 gumstix-buildroot

ACHTUNG: Wird das im Verzeichnis einer bestehenden Buildroot-Umgebung durchgeführt, überschreibt respektive tauscht Subversion die Dateien wieder aus! Außerdem: Anscheinend speichert die Release nicht den zugehörigen Kernel respektive die spezifischen Versionen für buildroot und Co. mit ab (das gilt es aber noch einmal genauer zu verifizieren).

Programme für den Gumstix erzeugen

...


Treiber für den Gumstix generieren

...

Einen neuen Kernel für den Gumstix generieren

...

Ein neues Root-Filesystem für den Gumstix generieren

...

Persönliche Werkzeuge