Schaltdiagramm -> https://doc-en.rvspace.org/VisionFive2/PDF/SCH_RV002_V1.2A_20221216.pdf
VisionFive2 - Bootvorgang
-
Die Chinesen haben sich bei der Auslieferung des SOCs dafür entschieden, einen U-Boot im SPI abzulegen. Sehr ungewöhnlich. Wenn man also den VF2 bootet, kommt folgendes.
U-Boot SPL 2021.10 (Jan 08 2023 - 18:04:54 +0800) DDR version: dc2e84f0. Trying to boot from SPI OpenSBI v1.0 ____ _____ ____ _____ / __ \ / ____| _ \_ _| | | | |_ __ ___ _ __ | (___ | |_) || | | | | | '_ \ / _ \ '_ \ \___ \| _ < | | | |__| | |_) | __/ | | |____) | |_) || |_ \____/| .__/ \___|_| |_|_____/|____/_____| | | |_| Platform Name : StarFive VisionFive V2 Platform Features : medeleg Platform HART Count : 5 Platform IPI Device : aclint-mswi Platform Timer Device : aclint-mtimer @ 4000000Hz Platform Console Device : uart8250 Platform HSM Device : --- Platform Reboot Device : --- Platform Shutdown Device : --- Firmware Base : 0x40000000 Firmware Size : 360 KB Runtime SBI Version : 0.3 Domain0 Name : root Domain0 Boot HART : 1 Domain0 HARTs : 0*,1*,2*,3*,4* Domain0 Region00 : 0x0000000002000000-0x000000000200ffff (I) Domain0 Region01 : 0x0000000040000000-0x000000004007ffff () Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X) Domain0 Next Address : 0x0000000040200000 Domain0 Next Arg1 : 0x0000000042200000 Domain0 Next Mode : S-mode Domain0 SysReset : yes Boot HART ID : 1 Boot HART Domain : root Boot HART Priv Version : v1.11 Boot HART Base ISA : rv64imafdcbx Boot HART ISA Extensions : none Boot HART PMP Count : 8 Boot HART PMP Granularity : 4096 Boot HART PMP Address Bits: 34 Boot HART MHPM Count : 2 Boot HART MIDELEG : 0x0000000000000222 Boot HART MEDELEG : 0x000000000000b109 U-Boot 2021.10 (Jan 08 2023 - 18:04:54 +0800), Build: jenkins-github_visionfive2 -5 CPU: rv64imacu Model: StarFive VisionFive V2 DRAM: 8 GiB MMC: sdio0@16010000: 0, sdio1@16020000: 1 Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 B ytes, erase size 4 KiB, total 16 MiB *** Warning - bad CRC, using default environment StarFive EEPROM format v2 --------EEPROM INFO-------- Vendor : StarFive Technology Co., Ltd. Product full SN: VF7110A1-2250-D008E000-00000236 data version: 0x2 PCB revision: 0xa1 BOM revision: A Ethernet MAC0 address: 6c:cf:39:00:1f:23 Ethernet MAC1 address: 6c:cf:39:00:1f:24 --------EEPROM INFO-------- In: serial@10000000 Out: serial@10000000 Err: serial@10000000 Model: StarFive VisionFive V2 Net: eth0: ethernet@16030000, eth1: ethernet@16040000 Card did not respond to voltage select! : -110 Card did not respond to voltage select! : -110 bootmode flash device 0 Card did not respond to voltage select! : -110 Hit any key to stop autoboot: 0 Card did not respond to voltage select! : -110 Couldn't find partition mmc 0:3 Can't set block device Importing environment from mmc0 ... ## Warning: Input data exceeds 1048576 bytes - truncated ## Info: input data size = 1048578 = 0x100002 Card did not respond to voltage select! : -110 Couldn't find partition mmc 1:2 Can't set block device ## Warning: defaulting to text format ## Error: "boot2" not defined Card did not respond to voltage select! : -110 ethernet@16030000 Waiting for PHY auto negotiation to complete....... done BOOTP broadcast 1 DHCP client bound to address 192.168.4.24 (7 ms) Using ethernet@16030000 device TFTP from server 192.168.4.1; our IP address is 192.168.4.24 Filename 'boot.scr.uimg'. Load address: 0x43900000 Loading: * TFTP server died; starting again BOOTP broadcast 1 DHCP client bound to address 192.168.4.24 (7 ms) Using ethernet@16030000 device TFTP from server 192.168.4.1; our IP address is 192.168.4.24 Filename 'boot.scr.uimg'. Load address: 0x40200000 Loading: * TFTP server died; starting again StarFive #
Kurzer Hinweis, meinen U-Boot habe ich aktualisiert, dazu später mehr in einem separaten Beitrag.. Man sieht, das was man auch von anderen SOCs kennt, er sucht nach einem startbarem Image.
Zuerst auf der SD-Karte, dann auf einem evt. vorhandenen TFTP-Server. Beides nicht vorhanden, deshalb stoppt er dann. So weit, so gut Man kann hier aber etwas erkennen, er startet auch nicht von anderen Devices, als Beispiel eMMC und PCIe.
Das nächste Image der Chinesen soll dann ein booten vom eMMC beinhalten. Hier bitte nachlesen.
Im Beitrag wird eine Boot Mode Settings Einstellung auf dem Board erwähnt. Schauen wir uns das kurz mal an.
Boot Mode RGPIO_0 RGPIO_1 1-bit QSPI Nor Flash 0 0 SDIO3.0 1 0 eMMC 0 1 UART 1 1 Quelle: https://doc-en.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf Das sieht auf der Platine so aus
Ich habe mich erst etwas verwirren lassen, weil auf dem DIP-Gehäuse ein ON steht, das scheint aber nicht die richtige Einstellung zu sein. ON wäre für mich, als Elektriker, erst mal eine 1. Man sieht aber dann auf dem Aufdruck der Platine ein L und ein H. Das bedeutet LOW und HIGH.
Ok, mal in den Schaltplan schauen.
LOW soll bedeuten, das das Potential auf Ground geschaltet ist. Ok, dann macht das alles auch Sinn. Das L ist dann folgerichtig die 0, das High dann die 1.
Die aktuelle Einstellung auf meinem Board ist somit 0 / 0, also ein Booten vom SPI Flash Speicher, was es ja macht.
Spielkind schaltet jetzt mal den RGPIO_1 auf HIGH, also Booten von eMMC.
Ergebnis
BOOT fail,Error is 0xffffffff dwmci_s: Response Timeout. BOOT fail,Error is 0xffffffff
Kein eMMC-Modul vorhanden, sollte also richtig sein. Man kann damit also einstellen, wo er den U-Boot sucht. Mal wieder umstellen, damit es auch wieder startet...
Noch einen kurzen Test und umgestellt auf SD-Karte
dwmci_s: Response Timeout. dwmci_s: Response Timeout. BOOT fail,Error is 0xffffffff dwmci_s: Response Timeout. dwmci_s: Response Timeout. BOOT fail,Error is 0xffffffff
Kein U-Boot auf der SD-Karte vorhanden.