Forum: Mikrocontroller und Digitale Elektronik uCLinux auf STM32F4-Discovery


von Nik D. (nik_uc)


Lesenswert?

Hallo,

ich habe, nach dieser Anleitung ( 
https://github.com/jserv/stm32f429-linux-builder ) erfolgreich auf das 
STM32F4-Discovery Board uCLinux portieren können. Mit dem Terminal komme 
ich auf drauf und kann verschiedene Befehle (z.B free cat vi... ) 
ausführen. Auch der bereits kompilierte fbtest (ein drehendes Rechteck 
auf dem Monitor) funktioniert.
Nun zur Frage. Ist es möglich irgendwie Ausgaben auf das LCD zu 
schreiben? Ich habe es mit der Weiterleitung an /dev/fb0 versucht, 
allerdings erscheinen da nur ein schmaler Pixelstreifen am oberen Rand 
des LCDs.
Kennt sich da jemand aus? Oder kennt eine Quelle bei der ich nachlesen 
kann?

Vielen Dank schonmal :)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hast du mindestens einen Font eingebaut? Wenn ja, leite mal irgendeine 
Ausgabe auf /dev/tty1.

Nik D. schrieb:
> Ich habe es mit der Weiterleitung an /dev/fb0 versucht,
> allerdings erscheinen da nur ein schmaler Pixelstreifen am oberen Rand
> des LCDs.

Jo, das Framebuffer Device schreibt die Bytes, so wie sie kommen, als 
Pixel in den Buffer. Scheint soweit zu klappen.

: Bearbeitet durch User
von Nik D. (nik_uc)


Lesenswert?

Hallo

Danke für den Tipp. Wenn ich auf /dev/tty0 schreibe erscheint es am 
Display :)
Allerdings handelt es sich bei dem File-System um ein read-only. Daher 
ist es mit Skripte schreiben noch etwas schwierig.

Wo genau wird eingestellt auf welche Schnittstelle die Bootausgaben 
geleitet werden?


Gruß, und vielen Dank!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Nik D. schrieb:
> Wenn ich auf /dev/tty0 schreibe erscheint es am
> Display :)
Huch? Wo ist denn deine serielle Konsole? Sollte ja eigentlich auf 
/dev/tty0 sein. Aber gut, wenn es mit tty0 aufs LCD geht, auch gut.

> Allerdings handelt es sich bei dem File-System um ein read-only. Daher
> ist es mit Skripte schreiben noch etwas schwierig.

Du solltest einen Teil des RAM als Ramdisk einrichten und zumindest /var 
und evtl. /temp dorthin zeigen lassen, sonst wird das System nicht 
richtig laufen, wenn ein Prozess Dateien erzeugt.
>
> Wo genau wird eingestellt auf welche Schnittstelle die Bootausgaben
> geleitet werden?

Gute Frage. Als ich damals ein Framebuffer Treiber für die Dragonballs 
gemacht habe, habe ich da auch dran geknabbert, und in der Mailing Liste 
hat mir da auch keiner drauf geantwortet. Mit einem 2.0er Kernel wars 
kein Problem, ab 2.4 hab ichs nicht hingekriegt.

von Nik D. (nik_uc)


Lesenswert?

Hallo,

die serielle hängt auf /dev/tty2. Warum? Weiß ich nicht :) Der Kernel 
ist nicht von mir. Aber so wie es aussieht muss ich ihn wohl neu 
kompilieren damit ich den Bootvorgang auf /tty0 bekomme. Auch die 
Speicherstellen von var muss ich dann gleich ändern.

Hat sonst noch jemand Erfahrung mit uClinux auf nem STM32F4?

Gruß,

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.