Der Pine64 Ox64 ist ein Einplatinencomputer mit einem Bouffalo Lab BL808 Dual-Core 64-Bit RISC-V-Prozessor mit bis zu 64 MB integriertem RAM, drahtlosen Schnittstellen für WiFi 4, Bluetooth 5.0 und 802.15.4 (Zigbee), sowie einem KI-Beschleuniger.
Kern |
64-bit 480MHz RV64 C906 (RISC-V)
(basierend auf Bouffalo Lab BL808) Unterstützt das offizielle RISC-V Linux |
---|---|
Speicher |
|
Schnittstellen |
|
Network |
|
Expansion Ports |
|
Auf der Dokumentation von Pine64 werden einige Alternativen angeboten, wie man den Ox64 per UART an den PC verbindet. Ich habe mich für die Lösung mit einem Raspberry Pi Pico entschieden. Dafür müssen zunächste die folgenden Anschlüsse gemacht werden:
Zunächst muss der Pico in den Boot-Modus versetzt werden, d.h. er wird zunächst von der Spannungsversorgung
getrennt. Dann hält man den Knopf BOOTSEL
gedrückt und verbindet den Pico über ein Micro-USB-Kabel
mit dem PC. Nun sollte der Pico als eigenständiges Laufwerk im Dateisystem auftauchen.
Aus dem Repository Kris-Sekula/Pine64_Ox64_SBC
wird nun die Datei picoprobe.uf2
auf das Laufwerk des Pico gezogen. Nach kurzer Zeit startet der
Pico neu und ist nun mit der neuen Firmware geflasht. (Pico ist auch nicht mehr als Laufwerk sichtbar)
Nun sollten im Gerätemanager zwei neue Geräte auftauchen (in meinem Fall COM12 und COM13). Für die folgenden Anweisungen ist es wichtig zu wissen, dass der niedrigere Port der Linux-Port darstellt und der höhere Port dient der Programmierung der Firmware.
Zunächst müssen zwei verschiedene Software-Paket heruntergeladen werden: Das Programm
DevCube zum flashen der Firmware und die eigentliche Firmware selbst.
Die Firmware bekommt man im Repository vonhttps://github.com/openbouffalo/buildroot_bouffalo
in Releases. Hier lädt man sich die Datei bl808-linux-pine64_ox64_full_defconfig.tar.gz
herunter und entpackt diese auf dem PC.
Das Programm DevCube muss laut den Anweisungen von openbouffalo die Version 1.8.3 haben, neuere Versionen scheinen nicht zu funktionieren. (BouffaloLabDevCube-v1.8.3.zip) Normalerweise lädt man aber neuere Versionen von der Seite http://dev.bouffalolab.com/download.
Als nächster Schritt versetzt man den Ox64 in Boot-Modus, indem man den Knopf BOOT
gedrückt
hält, während man die Verbindung VBUS
zum Pico herstellt. (sollte vorher getrennt werden)
Jetzt startet man DevCube, wählt als Chip den BL808
aus und wechselt zum Tab MCU
.
Dort werden die folgenden Einstellungen vorgenommen:
Für den zweiten Schritt wechselt man zum Tab IOT
und nimmt folgende Einstellungen vor:
Nun kann man DevCube wieder schließen und man trennt nun zunächt den Ox64 von der Spanungsversorgung (VBUS
).
Man benötigt nun eine leere SD-Karte (hier 16GB), um das Linux darauf zu laden.
Dafür kann man die Software Etcher verwenden.
Vorsicht: Alle Daten auf der SD-Karte werden dabei überschrieben!
Man öffnet nun Etcher und wählt das Image sdcard-pine64_ox64_full_defconfig.img.xz
aus dem Ordner
der vorher heruntergeladenen Firmware aus. Nach dem Auswählen des Laufwerks, kann Linux auf die SD-Karte geflasht werden.
Vorsicht: Immer sicherstellen, dass das richtige Lauftwerk mit der SD-Karte ausgewählt wurde!
Nach dem Drücke auf Flash! kann es einige Zeit dauern (~10min), bis das Linux-Image auf die SD-Karte erfolgreich geschrieben wurde. Etcher kann beendet und die so vorbereitete SD-Karte nun in den Slot des Ox64 eingelegt werden.
Man verbindet sich zunächst mit einem Terminal-Programm (hier: PuTTY) auf den niedrigeren der beiden Ports (hier: COM12) mit einer Baurate von 2000000:
Nun verbindet man den Ox64 wieder mit dem VBUS
und es sollte sofort in der seriellen Konsole
angezeigt werden, dass U-Boot hochfährt.
Es gibt eine künstliche Verzögerung von 5s, damit man u.U. noch in den Boot-Vorgang eingreifen kann. Dann wird das eigentliche Linux gestartet und es erscheint der Login-Screen. (Zungang mit root ohne Passwort)
Nun können einige Befehlen zum Testen des System ausprobiert werden:
Leider sind momentan meines Wissens noch keine Treiber für WLAN, USB etc. vorhanden, die hoffentlich in Zukunft nachgereicht werden. Auch habe ich noch keine Libraries o.ä. für den Zugang der GPIOs gefunden. Wenn dies erreicht ist, dann sehe ich großes Potential in diesem kleinen Board. 😎