The VisionFive is the first generation of affordable RISC-V computers designed to run Linux. It is fully open-source with open-source software, open hardware design, and RISC-V open architecture.
It also has rich AI features with Neural Network Engine and NVDLA Engine.
- RISC-V SiFive U74 Dual-Core 64-bit RV64GC ISA SoC
- 2MB L2 cache @ 1.0GHz
- Vision DSP Tensilica-VP6 for computing vision @ 600MHz
- NVDLA Engine (configuration 2048 MACs @ 800MHz)
- Neural Network Engine (1024MACs @ 500MHz)
- 8GB LPDDR4
- 2.4 GHz Wi-Fi (IEEE 802.11b/g/n)
- Bluetooth 4.2 (BLE)
- 2 x MIPI-CSI (up to 4K@30fps)
- 1 x MIPI-DSI (up to 4K@30fps)
- 1 x HDMI 2.0 (up to 1080p@60fps display)
- Video Decoder (H264/H265) up to 4K@60fps
- Support Dual stream decoding for 2K@30fps each
- Ultra-low power Voice Activity Detector for audio bit-stream as a Voice Trigger
- On-chip Audio DAC
- Support DMIC and AMIC, up to 4 channels
- 4 x USB 3.0 ports
- 40 Pin GPIO Header
- Gigabit Ethernet Connector
- 3.5 mm Audio jack
Community VisionFive images can be downloaded here.
For now, a workaround is needed in order to boot the image after writing the image on an sd card.
Create a /boot/uEnv.txt file that contains these lines:
fdt_high=0xffffffffffffffff initrd_high=0xffffffffffffffff scriptaddr=0x88100000 script_offset_f=0x1fff000 script_size_f=0x1000 kernel_addr_r=0x84000000 kernel_comp_addr_r=0x90000000 kernel_comp_size=0x10000000 fdt_addr_r=0x88000000 ramdisk_addr_r=0x88300000 fdtfile=starfive/jh7100-starfive-visionfive-v1.dtb bootcmd=load mmc 0:1 0xa0000000 /EFI/BOOT/bootriscv64.efi; bootefi 0xa0000000 bootcmd_mmc0=devnum=0; run mmc_boot
Edit /boot/grub2/grub.cfg file and add this line in the menuentry (after $linux):
The first-stage bootloader offers a serial menu that allows flashing bootloaders via serial (xmodem).
You will need to update the boot loader firmware on your VisionFive to be able to boot a mainline based kernel. The image (opensbi-starfivejh7100visionfivesmode.img) needs to be extracted from the file opensbi-starfivejh7100visionfivesmode.tar.gz. To write the binary to the board you need a xmodem connection (e.g. use minicom). Interrupt the first timeout before OpenSBI on the board gets booted. Alternatively, the firmware can be updated via TFTP. More information can be found here.