Fehler/Info's/Anregungen an:
last update: 28.05.2020 / Besucher: 1596 (55969)
Haftungsausschluss
Um ein C-Berry28 am Raspberry Pi B(+) in Betrieb zu nehmen, sind einige kleine Schritte nötig.

Nach dem Login befindet man sich im "Home-Verzeichnis". Alle angaben beziehen sich auf diesen Pfad.
Sollte man die Installation in einem anderen Verzeichnis vornehmen wollen, müssen die Pfade angepasst werden.
pi@raspberrypi:~ $

Als Erstes, lädt man sich den Treiber für den Grafikchip runter und installiert diesen:
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.63.tar.gz

Den Treiber entpacken mit:
tar zxvf bcm2835-1.63.tar.gz

In das neu erstellte Unterverzeichnis wechseln:
cd bcm2835-1.63

Konfiguration, Kompilierung und Installation ausführen:
./configure
make
sudo make check
sudo make install

Nachdem der Treiber installiert ist, hat man Zugriff auf den Grafikchip. Jetzt kann man den Treiber für das Display installieren.

Das Archiv runter laden:
wget http://www.johnes.eu/rpi/pages/cberry/c-berry28.tar.gz

Den Treiber für das LCD entpacken:
tar zxvf c-berry28.tar.gz



Bei den moderneren RPi's tritt ggf. ein Flackern des LCDs auf. Dies ist ein Timingproblem! Um das Problem zu umgehen, kann man den Treiber patchen. (Beim Pi1 kann man dies überspringen!)

Um den Patch anzuwenden, muss die Datei
/home/pi/C-Berry28/SW/tft_test/tft.c
bearbeitet werden.

In das neu erstellte (entpackte) Unterverzeichnis wechseln:
cd C-Berry28/SW/tft_test

Die zu patchende Datei mit "nano" öffnen:
nano tft.c

Dort such man die Zeile mit dem Befehl: (Zeile 99)
bcm2835_spi_setClockDivider( BCM2835_SPI_CLOCK_DIVIDER_2 );

Und ändert diesen um in:
bcm2835_spi_setClockDivider( BCM2835_SPI_CLOCK_DIVIDER_4 );

Mit "Strg + O" speichert man die Änderung ab und verlässt den Editor mit "Strg + X" wieder.

Nun muss der Patch kompiliiert werden. Dazu muss allerdings zuerst die alte Objektdatei gelöscht werden, da "make" sonst nicht funktioniert. "make" arbeitet nur, wenn es denkt, es gibt auch was zu tun. Da die alte Objektdatei allerdings vorhanden ist, wird mit einer Meldung abgebrochen. Um dies zu verhindern löscht man die alte Datei einfach.
rm tft.o

Danach führt man "make" mit Angabe der zu kompilierenden Datei aus:
make tft.o

Der Patch ist jetzt für den Programmteil "tft_test" eingespielt. Um ihn auch für den Hauptteil "framebuffer" (Dem eigentlichen LCD-Treiber, der das Bild vom HDMI zum LCD kopiert) zu aktivieren, muss die Objektdatei in das entsprechende Unterverzeichnis des "fb2cberry28" kopiert werden.

Datei kopieren:
cp tft.o ../fb2cberry28

Danach kann man wieder in das Stammverzeichnis wechseln, wo man den Treiber hin entpackt hat.
cd ../../..

Ab hier geht es dann mit der Anleitung normal weiter!



In das neu erstellte Unterverzeichnis wechseln:
cd C-Berry28/SW/fb2cberry28

Den Treiber kompilieren:
make

Den LCD-Treiber aktivieren:
sudo ./fb2cberry28 &
(Mit dem "&" am Ende wird der Treiber im Hintergrund geladen!)

Um den Bildschirmtimeout zu deaktivieren, kann man an die cmdline.txt um einen Parameter erweitern:
sudo nano /boot/cmdline.txt

Am Ende der Zeile fügt man nun den Parameter an:
consoleblank=0
 

Um beim Systemstart den Treiber zu laden, muss dieser in eine Autostart-Datei. Anbieten tut sich hier auch die "/etc/rc.local".

Den Editor aufrufen:
sudo nano /etc/rc.local
Folgende Zeile am Ende eintragen:
/home/pi/C-Berry28/SW/fb2cberry28/fb2cberry28 &

Mit Strg + O abspeichern, danach mit Strg + X den Editor wieder verlassen.
Bei einem Neustart sollte sich der Treiber jetzt selbst laden.

zurück / HomeJohnes.eu© Johnes
Rechtlicher Hinweis:
Ich weise darauf hin, dass ich mich von den Inhalten der von mir verlinkten Seiten distanziere! Für die Inhalte der verlinkten Seiten ist allein deren Verfasser verantwortlich. (mehr Infos/Disclaimer...)