RISC-V-Board: Erste Schritte mit Starfive Visionfive 2

Die Visionfive-2-Einplatinencomputer von Starfive trudeln derzeit bei den Vorbestellern ein. Eine Handreichung zur Vermeidung holpriger erster Schritte.

In Pocket speichern vorlesen Druckansicht 96 Kommentare lesen
Aufmacher Starfive Visionfive 2

(Bild: heise online)

Lesezeit: 5 Min.
Von
Inhaltsverzeichnis

Mit dem Visionfive 2 hat Starfive einen preiswerten und den technischen Daten nach sehr leistungsfähigen Single-Board-Computer (SBC) als Kickstarter-Projekt aufgelegt, das einen offenen RISC-V-Prozessor mit vier Kernen nutzt. Das Raspberry-Pi-Format mit der Pfostenleiste zur Ansteuerung von weiterer Peripherie tut sein Übriges, das Interesse am Ausprobieren der jungen Prozessorarchitektur zu wecken.

Die ersten Platinchen trudeln seit etwa einer Woche bei den Kickstarter-Unterstützern ein. Anders als beim Raspberry Pi gibt es jedoch noch kein ausgewachsenes Ökosystem um den Visionfive 2. Starfive liefert zwar einen Quick-Start-Guide. Der verkürzt jedoch viele Informationen und lässt an wichtigen Stellen essenzielle Informationen weg.

Auf der Starfive-Homepage stellt der Hersteller aktuelle Debian-Abbilder für den Visionfive 2 zur Verfügung. Diese lassen sich mit dem von Starfive vorgeschlagenen Tool balenaEtcher auf die SD-Karte verfrachten. Hier lauert ein erster Stolperstein: Das aktuellere Image startet nicht auf den ausgelieferten Boards. Schuld daran ist eine veraltete Firmware, die Visionfive-2-Besitzende erst einmal aktualisieren müssen.

Der Quickstart-Guide nennt zwei Möglichkeiten: Einmal Aktualisieren per TFTP und einmal direkt aus der laufenden Distribution heraus über das /proc/mtd-Gerät. Die im Auslieferungszustand immerhin startende Debian-Version "Image-55" hat jedoch weder ein aktives procfs, noch lässt sich MTD darin aktivieren.

Abhilfe schafft hier möglicherweise ein minimales SD-Karten-Abbild sdcard.img aus dem GitHub-Repository von Starfive – das ist jedoch bislang ungetestet und unbestätigt. Aus dem GitHub-Repository sind die Dateien u-boot-spl.bin.normal.out sowie visionfive2_fw_payload.img zur Firmwareaktualisierung nötig.

Die auf jeden Fall funktionierende Lösung bedeutet also den Umweg über TFTP. Dazu muss ein USB-UART-Adapter, wie er bei Mikroprozessor-Basteleien üblicherweise zum Einsatz kommt, an die Pinleiste angeschlossen werden.

Mit einem USB-Seriell-Wandler lässt sich der Boot-Prozess beobachten und schließlich das Firmware-Update vornehmen.

(Bild: Starfive Quick-Start-Guide)

Der Pin 1 ist auf der Pfostenleiste markiert. Liegt die Leiste oben links, gehören die Verbindungen also nach links außen. Als Terminal leistet das kostenlose PuTTY gute Dienste. Dort muss der COM-Port des USB-UART-Dongles ausgewählt und als Übertragungsrate 115.200 Bit/s eingestellt werden. Der COM-Port lässt sich gegebenenfalls mittels Gerätemanager unter "Anschlüsse (COM & LPT)" herausfinden.

Die Ethernet-Verbindung und der USB-zu-Seriell-Wandler am Starfive Visionfive 2.

(Bild: heise online)

Unter Windows funktioniert der kostenlose und quelloffene TFTP-Server PumpKIN für das Firmware-Update recht gut. Als Erstes verbindet man nun den Rechner per Ethernet mit dem etwas mittiger sitzenden Ethernet-Port des Visionfive 2 – der äußere Gigabit-Port beherrscht derzeit kein DHCP und stellt noch keine verlässliche Verbindung her. Unter Windows benötigt der Ethernet-Adapter manuelle, statische Einstellungen. Als IP-Adresse dient dem Quickstart-Guide zufolge 192.168.120.99, Netzmaske 255.255.255.0; das Gateway bleibt leer.

Jetzt kann das Visionfive 2 per USB-C mit Strom versorgt werden. Mit PuTTY lässt sich der Bootvorgang beobachten. Darin ist eine kurze Verzögerung von 3 Sekunden zu erkennen, in der eine Taste zu drücken ist, um den Startvorgang zu beenden. So gelangt man in die Firmware-Umgebung, wo ein Update per TFTP möglich ist. Ab jetzt funktioniert das Update, wie im Quick-Start-Guide beschrieben.

Das Firmware-Update im Terminal-Fenster. Wenn die Windows-Firewall dazwischenfunkt, zeigen die "T" Timeouts an.

(Bild: Screenshot)

Im Terminal auf dem Visionfive 2 lassen sich die IP-Adressen Umgebungsvariablen zuordnen.
setenv ipaddr 192.168.120.222;setenv serverip 192.168.120.99

Der Befehl sf probe initialisiert den Flash-Speicher.

Den ersten Teil der Firmware empfängt der Visionfive 2 mit
tftpboot 0xa0000000 ${serverip}:u-boot-spl.bin.normal.out

Jetzt muss unter Windows in PumpKIN diese Datei ausgesucht sowie als IP-Adresse 192.168.120.222 angegeben werden. Die Windows-Firewall-Anfrage muss sowohl für öffentliche als auch für lokale Netzwerke freigegeben werden, sonst schlägt die Verbindung dauerhaft fehl – ein weiterer Stolperstein. Windows erkennt die manuelle Ethernet-Verbindung als öffentliches Netzwerk.

Unter Windows lässt sich der PumpKIN-TFTP-Server nutzen. Wichtig ist dessen Friegabe in der Windows-Firewall auch für öffentliche Netzwerke.

(Bild: Screenshot)

Das Kommando sf update 0xa0000000 0x0 $filesize verfrachtet das Update dann in den Flash-Speicher.

Als Nächstes ist die zweite Datei dran. Diese empfängt Visionfive mit dem Befehl
tftpboot 0xa0000000 ${serverip}:visionfive2_fw_payload.img

Auch diese Datei muss mit PumpKIN wie zuvor die SPL-Datei angeboten werden. Im Anschluss kommt das neue U-Boot-Abbild mit dem Kommando sf update 0xa0000000 0x100000 $filesize dauerhaft auf das Visionfive-2-Board.

Da die Firmware jetzt auf dem aktuellen Stand ist, lässt sich auch das Debian-Abbild Image-69 mit dem Visionfive 2 starten. Darin haben die Entwickler seit der vergangenen Woche bereits zahlreiche Korrekturen und Verbesserungen einfließen lassen. Damit lassen sich erste Gehversuche mit dem Visionfive 2 beginnen – ohne möglicherweise frustrierende Erfahrungen.

Nach dem Firmware-Update startet endlich auch das aktuellere Debian-Image auf dem Starfive Visionfive 2.

(Bild: heise online)

Ein guter Anlaufpunkt für Fragen und Tipps ist das Visionfive-2-Forum auf forum.rvspace.org. Eine kleine, freundliche Gemeinde hat sich dort versammelt und hilft bei Problemstellungen weiter.

(dmk)