Comparing now how SDIO boot works with the official SDK. I don’t know where “SDIO” comes from but it should boot all from SD and it is the term used in the quick start guide.
The same guide does not give whole a lot of promised as it just states that:
StarFive recommends that you use 1-bit QSPI Nor Flash mode since there is a low possibility that the VisionFive 2 may fail to boot in eMMC or SDIO3.0 boot mode. Try restarting the VisionFive 2 if fails to boot in eMMC or SDIO3.0 boot mode
Probably something like BeagleV would more convenient but it was not yet even publicly announced when I ordered this. And even if I probably eventually get it having multiple pieces for hardware is nice for comparison.
Hmm.. With DIP switches set to “SDIO” mode, VisionFive2 SBC gives the most informative error message ever:
BOOT fail,Error is 0xffffffff
I’d guess the last value is -1
in 1’s complement format but other than that 🤷
I used #BuildRoot and visionfive2_defconfig
. Not sure how feature complete so maybe I will try the official SDK for comparison.
@arj ARM support can be added but not in the scope of my patch set. The priority is to implement it so that arch support can be gradually added.
Post this work ARM support could be added by:
alloc_execmem()
.free_execmem()
.Makefile
.HAVE_ALLOC_EXECMEM
in appropriate Kconfig
.@jon_giraffe or if you want to go crazy:
$ alias rustup-init="curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s --"
$ rustup-init --help
rustup-init 1.27.0 (b02c9c2b4 2024-03-08)
The installer for rustup
Usage: rustup-init[EXE] [OPTIONS]
Options:
-v, --verbose
Enable verbose output
-q, --quiet
Disable progress output
-y
Disable confirmation prompt.
--default-host <default-host>
Choose a default host triple
--default-toolchain <default-toolchain>
Choose a default toolchain to install. Use 'none' to not install any toolchains at all
--profile <profile>
[default: default] [possible values: minimal, default, complete]
-c, --component <components>...
Component name to also install
-t, --target <targets>...
Target name to also install
--no-update-default-toolchain
Don't update any existing default toolchain after install
--no-modify-path
Don't configure the PATH environment variable
-h, --help
Print help
-V, --version
Print version
Execution of a remote payload but should be fairly secure as it is verified with rust-lang.org CA (thanks to TLS 1.2).