Starfive VisionFive 2 JH7110
Overview
The StarFive VisionFive 2 is a development board with a StarFive JH7110 multi-core 64bit RISC-V SoC.
Programming and debugging
Building
Applications for the visionfive2
board configuration can be built
as usual (see Building an Application) using the corresponding board name:
west build -b visionfive2
spl_tool
is a jh7110 signature tool used to generate spl header information
and generate zephyr.bin.normal.out
.
./spl_tool -c -f build/zephyr/zephyr.bin
This will create a new file build/zephyr/zephyr.bin.normal.out
that can be flashed.
This step is necessary as zephyr binary must contain the SPL header info in order
to run it in M-Mode (Machine Mode) since S-Mode (Supervisor Mode) is
currently not supported.
Flashing
Note
The following steps use minicom for serial communication, feel free to use any other serial terminal that supports xmodem based file transfers. Thanks to @orangecms for his vf2-loader tool which makes the flashing process easier
git clone the vf2-loader tool from https://github.com/orangecms/vf2-loader.git and xmodem tool from https://github.com/orangecms/xmodem.rs.git side by side.
VisionFive2 uses uart for flashing. Refer to VisionFive2 Recovery Quick Start Guide to connect your serial-to-usb converter. Now power on the board and using minicom access board’s serial and press the reset switch on the board until you see CCCCCC… prompt
Copy the zephyr.bin.normal.out
from build/zephyr/zephyr.bin.normal.out
to previously git cloned vf2-loader/ directory and cd into it.
Flash the zephyr.bin.normal.out
using this command:
cargo run -- zephyr.bin.normal.out && minicom -D /dev/ttyUSB0
cargo run -- zephyr.bin.normal.out && minicom -D /dev/ttyUSB0
Finished dev [unoptimized + debuginfo] target(s) in 0.03s
Running `target/debug/vf2-loader zephyr.bin.normal.out`
Welcome to minicom 2.7.1
OPTIONS: I18n
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 14:59:24
Press CTRL-A Z for help on special keys
6*** Booting Zephyr OS build v3.6.0-rc3 ***
Hello World! visionfive2