Hallo,
ich habe mir mal wieder ein großes Projekt vorgenommen. Wie ich immer so
bin, natürlich dabei auch wieder (für mich) Neuland, man will sich ja
auch weiter entwickeln.
Mal kurz zum Projekt:
Ich hab eine Astronomische Montierung für mein Teleskop gebaut, diese
wird mit Schrittmotoren betrieben und soll nun eine Passende Steuerung
bekommen. Die Schrittmotoren laufen im µ-Steppbetrieb über Motortreiber
der Firma Nanotec
(http://de.nanotec.com/schrittmotorsteuerung_smci33.html).
Funktioniert soweit auch prima. Nun geht es darum dafür eine Steuerung
zu Programmieren. Diese soll dann die Motortreiber ansteuern und die
Koordinaten errechnen in welche das Teleskop zeigt. Weiterhin soll es
möglich sein Himmelsobjektdaten aus dem Speicher auf zu rufen und an zu
fahren.
Sicher gibt es das alles fertig und ja ich weiß, ich versuche mal wieder
das Rad neu zu erfinden, aber alle Steuerungen die es gibt haben ihre
Fehler. (Irgendwas ist ja immer ;-) und Astronomen sind da besonders
mäkelig) Außerdem habe ich den Spaß am basteln und neu entdecken noch
lange nicht verloren.
Um mein Ziel zu erreichen habe ich mich mal ungesehen was es denn so
schönes gibt. Es sollte ein Controler mit grafischem Display sein, er
sollte möglichst kein sein, die Möglichkeit haben viele Daten zu
speichern (für die Himmelsobjekte). Dabei stieß ich auf die PanelCard
von Taskit und das Entwicklungsboard dazu.
Nun liegt hier vor mit die PanelCard mit 64Mb Ram und auch 64Mb Flash
Display und Touchscreen. Natürlich das Entwicklungsboard nebst CD und
Kabeln.
Nach anfänglichen Schwierigkeiten habe ich das ganze nun auch in betrieb
genommen und stelle leider fest, daß so einiges eben nicht geht, wie in
der Anleitung beschrieben.
Hier mal die Dinge die ich hinbekommen habe:
- Anbindung an die Serielle Schnittstelle mit Ausgabe auf auf meinen
großen PC in der Konsole
- Netzwerkanbindung mit ein Mounten eines Verzeichnisses über NFS
- Netzwerkanbindung auf Konsole und Internetverbindung
- Display im Grafikmodus läuft mit dem Beispielprogrammen
- Matrixtastatur
Was nicht geht:
- Touchscreen läßt sich nicht richtig ansprechen, beim ersten Antippen
springt der Mauszeiger in die oberste linke ecke und bleibt dort.
- Drehknopf auf dem Entwicklungsboard reagiert gar nicht, angemeldet ist
er im Linux aber.
- Textausgabe, wie in der Anleitung beschrieben, auf tty1 reagiert
nicht.
- Echtzeituhr wird nicht gelesen, das Linux meldet fehler beim Start.
- Mounten einer SD-Card schlägt fehl, SD-Card wurde aber beim Start
richtig erkannt. Laut Anleitung soll /dev/mmc... gemountet werden,
/dev/mmc... ist aber nicht vorhanden
Da ich von dem was ich da angefangen habe noch sehr wenig Ahnung habe,
stoße ich natürlich als erstes im Linux an meine bisherigen Grenzen.
Schon gar nicht glaube ich, das ich als Neuling mir mal eben einen neuen
Kernel für die PanelCard bastle. Zumal die Beschreibung von Taskit mich
da auch nicht wirklich weiter bringt und die angegebenen Eingaben eher
Fehlermeldungen als ein Ergebnis bringen.
Daher nun meine Fragen an Euch. Kennt jemand dieses Gerät? Hat jemand
lust und Zeit mir Stück für Stück weiter zu helfen?
Ich muß schon zugeben, ich hatte mir das Ganze etwas anders vorgestellt.
Habe schon einige Programmiersprachen gelernt und dachte mir" gut dann
eben noch C". Das das gelieferte Gerät erst mal in gang zu bringen ist
und man dafür vielleicht sogar in die tiefen eines Kernels abtauchen
muß, hatte ich nicht geplant.
Was ich an Wissen mitbringe:
- grundlegende Kenntnisse zu µ-Prozessoren
- habe bisher Assembler für 8081 programmiert und 5 weiter
Programmiersprachen die hier aber nicht relevant sind
- Linux eher rudimentär, aus dem ding einen Webserver zu machen wäre ein
leichtes nur ist das ja nicht die Aufgabenstellung
Danke schon mal im Voraus
LG
Susann
Das Touchscreen läuft nun, der Grund war der Treiber für den Dreknopf.
So wie dieser aktiviert wird, ist schluß mit Touchscreen so ändert sich
die Liste der Dinge die nicht gehen wie folgt:
- Drehknopf auf dem Entwicklungsboard kann nicht aktiviert werden weil
sonst der Touchscreen nicht geht.
- Textausgabe, wie in der Anleitung beschrieben, auf tty1 reagiert
nicht.
- Echtzeituhr wird nicht gelesen, das Linux meldet fehler beim Start.
- Mounten einer SD-Card schlägt fehl, SD-Card wurde aber beim Start
richtig erkannt. Laut Anleitung soll /dev/mmc... gemountet werden,
/dev/mmc... ist aber nicht vorhanden
Bootmeldung:
mmc0: host does not support reading read-only switch. Assuming
write-enable.
mmcblk0: mmc0:4048 SM04G 3870720KiB
mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 00000035
.
.
.
mount: Mounting /dev/mmc/blk0/part1 on /data failed: No such file or
directory
zur sd-card: der fehler besagt, das die sdkarte nach /data gemountet
werden soll, jedoch existiert dieses verzeichnis nicht. bitte anlegen
oder rechte prüfen:
ls -la /data
ansonsten mkdir /data
viel erfolg
André Roth schrieb:
> zur sd-card: der fehler besagt, das die sdkarte nach /data gemountet> werden soll, jedoch existiert dieses verzeichnis nicht. bitte anlegen> oder rechte prüfen:>> ls -la /data>> ansonsten mkdir /data>> viel erfolg
Danke für den Hinweis, aber das Verzeichnis ist vorhanden und mit den
Rechtenn 777 versehen. Was allerdings nicht vorhanden ist, ist
/dev/mmc/blk0/part1.
LG
Susann
Wieder was, was ich hinbekommen habe. Die Hartwareuhr geht nun. Es
bestätigte sich mein verdacht, daß das System versucht auf /dev/rtc zu
zugreifen, was aber nicht vorhanden ist. Lösung ist ein Link auf das
vorhandene /dev/rtc0 also:
ln -s /dev/rtc0 /dev/rtc in die datei /config/rc.local einfügen,
möglichst vor dem Abgleich mit dem Timeserver.
Die Geschichte mit der SD-Card:
Hier hat besteht ein Fehler in der Datei /etc/init.d/rcS
darin zu finden die Zeilen:
mdev -s
echo /sbin/mdev >/proc/sys/kernel/hotplug
Diese beiden Zeilen müssen vertauscht werden, laut Taskit info. Da die
Datei aber nicht im Flash sondern im Arbeitsspeicher liegt, ist die
Lösung die, das man die Zeile "mdev -s" in die danach zu ladende Datei
/config/rc.local einträgt. Desweiteren muß dann nicht wie in der
Beschreibung
mount -t vfat /dev/mmc/blk0/part1 /data
sondern
mount -t vfat /dev/mmcblk0p1 /data benutzt werden.
Damit sind alle Fehler erst mal behoben, wobei ich mir wünschen würde,
das wenn ich eine USB-Tastatur anstecke diese auch geht. Vielleicht hat
ja hierzu jemand einen Tipp für mich, wie ich dieses hin bekomme
LG
Susann
Zum Problem mit der Tastatur,
um eine USB-Tastatur benutzen zu können, muß man sich den Kernel
vornehmen. Da ich die Tastatur nur in der Entwicklungsphase benötige,
habe ich den Treiber als Modul geladen. Auf der von Taskit gelieferten
CD ist der aktuelle Kernel ja in gepackter Form vorhanden und es wird
extra das Menükonfig angeboten. Das Ganze geht dann so:
1. Kernel-Sourcen entpacken
2. In das Sourcen-Verzeichnis wechseln
3. make ARCH=arm panelcard_defconfig
4. make ARCH=arm menuconfig
5. Device Drivers --> HID Devices --> USB Human Interface Device (full
HID)
support aktivieren. (auf "M" setzen, für als Modul laden)
6. make ARCH=arm CROSS_COMPILE=arm-linux-3.4.2- modules
7. Nun sind die Dateien drivers/hid/hid.ko und
drivers/hid/usbhid/usbhid.ko
entstanden. Diese kopieren man auf die Panel-Card und läd Sie
nacheinander
mit dem insmod-Befehl in der /config/rc.local.
Sollten bei "menuconfig" Fehlermeldungen auftreten, müssen Sie noch
zusätzlich das ncurses-Entwicklungspaket installieren, bei Debian heißt
es "libncurses5-dev"
Nun funktioniert nicht nur die Tastatur sondern auch die Maus.
Leider hat die Tastatur nun aber noch englischen Zeichensatz kann mir
jemand helfen wie ich den auf Deutsch umstellen kann?
LG
Susann
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.