fiasko's home pageINCLUD / c't USB Display |
|
| [ Übersicht | IO-Warrior Kit | INCLUD LCD ] |
Zum Betreiben des IO-Warriors unter Linux gibt es auf der Seite von Code Mercenaries ein SDK für Linux.
Dies enthält unter anderem ein Kernel Modul für 2.6er Kernel und die libiowkit die Funktionen zur Ansteuerung für Anwendungen
zur Verfügung stellt.
Das IO-Warrior Modul läßt sich für den eigenen Kernel wie gewohnt übersetzen. Für meine eigenen Kernel Images gibt es extra Modulpakete - ein:
apt-get install iowarrior-modules-2.6.YY-fiasko-...
genügt.
Es gibt eine kleine Stolperfalle beim Laden des Modules. Es wird automatisch von hotplug das Anstecken des IO-Warriors erkannt und mittels
udev Werden die Geräteknoten /dev/iowarrior0 und /dev/iowarrior1 angelegt. Die Bibliothek des IO-Warrior Kits erwartet
die Geräte allerdings unter /dev/usb. Als abhilfe kann hier eine kleine Ergänzung des udev Regelwerkes helfen. Die Datei
/etc/udev/rules.d/iowarrior.rules/ mit folgendem Inhalt erstellen:
# IO-Warrior USB device BUS="usb", KERNEL="iowarrior*", NAME="usb/%k", GROUP="users"
Dann werden die Geräteknoten an der richtigen Stelle erstellt und die Gruppe users bekommt auch gleich Zugriff darauf. Diese Anpassungen
sind in meinen IO-Warrior Kit Paketen (siehe unten) bereits enthalten.
Das IO-Warrior Kit bietet Funktionen für Anwendungen um auf den Chip zuzugreifen. Zur Installation benötigt man das cmake Paket.
In den Quellen ist als erstes die Datei CMakeCache.txt zu löschen, danach sollte ein Aufruf von
$ cmake . $ make
die Quellen übersetzen. Eventuell (zumindest auf einem gewöhnlichen Debian System) schlägt die Übersetzung der Java API fehl. Die Übersetzung
der Java API kann man in der Datei src/CMakeLists.txt abschalten. Die Zeile
ADD_LIBRARY(iowkit SHARED iowkit.c iowkitjni.cpp)ist durch
ADD_LIBRARY(iowkit SHARED iowkit.c)
zu ersetzen und dann läßt sich das SDK bauen.
Natürlich gibt es auch hier schon von mir fertige Debian Pakete. Die Pakete libiowkit und libiowkit-dev sind in meinem Debian Repository zu finden.
| 16.02.06, Thomas Liske
n/a |