docs/platforms/risc-v/fe310/boards/hifive1-revb: Migrate README.txt

Migrate README.txt to RST format adhering to the standard board
documentation template.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This commit is contained in:
Matteo Golin
2025-10-23 11:19:01 -04:00
committed by simbit18
parent cb710a71d1
commit b7de650968
4 changed files with 106 additions and 85 deletions
@@ -1,44 +0,0 @@
1. Download and install toolchain
$ curl https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14.tar.gz
2. Build and install qemu
$ git clone https://github.com/qemu/qemu
$ cd qemu
$ ./configure --target-list=riscv32-softmmu
$ make
$ sudo make install
3. Modify defconfig
index c449421741..5a76600785 100644
--- a/boards/risc-v/fe310/hifive1-revb/configs/nsh/defconfig
+++ b/boards/risc-v/fe310/hifive1-revb/configs/nsh/defconfig
@@ -14,7 +14,7 @@ CONFIG_ARCH_BOARD="hifive1-revb"
CONFIG_ARCH_BOARD_HIFIVE1_REVB=y
CONFIG_ARCH_CHIP="fe310"
CONFIG_ARCH_CHIP_FE310=y
-CONFIG_ARCH_CHIP_FE310_G002=y
+CONFIG_ARCH_CHIP_FE310_QEMU=y
CONFIG_ARCH_INTERRUPTSTACK=1536
CONFIG_ARCH_RISCV=y
CONFIG_ARCH_STACKDUMP=y
4. Configure and build NuttX
$ mkdir ./nuttx; cd ./nuttx
$ git clone https://github.com/apache/nuttx.git nuttx
$ git clone https://github.com/apache/nuttx-apps.git apps
$ cd nuttx
$ make distclean
$ ./tools/configure.sh hifive1-revb:nsh
$ make V=1
5. Run the nuttx with qemu
$ qemu-system-riscv32 -nographic -machine sifive_e -kernel ./nuttx
6. TODO
Support RISC-V User mode
@@ -1,35 +0,0 @@
1. Download and install toolchain
$ curl https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14.tar.gz
2. Download and install J-Link Software Documentation Pack
https://www.segger.com/downloads/jlink/
$ sudo apt install JLink_Linux_V656b_x86_64.deb
3. Configure and build NuttX
$ mkdir ./nuttx; cd ./nuttx
$ git clone https://github.com/apache/nuttx.git nuttx
$ git clone https://github.com/apache/nuttx-apps.git apps
$ cd nuttx
$ make distclean
$ ./tools/configure.sh hifive1-revb:nsh
$ make V=1
4. Flash the nuttx with J-Link and run
$ picocom -b 115200 /dev/ttyACM0
$ /opt/SEGGER/JLink_V656b/JLinkGDBServer -device FE310
$ riscv64-unknown-elf-gdb ./nuttx
(gdb) target extended-remote:2331
(gdb) load nuttx
(gdb) c
5. TODO
Support GPIO/SPI/I2C/RTC/WDT/PWM
Support RISC-V User mode
Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

@@ -1,9 +1,109 @@
============
hifive1-revb
=============
HiFive1 Rev B
=============
.. tags:: arch:riscv, vendor:sifive, experimental
.. todo::
There is currently no support for GPIO/SPI/I2C/RTC/WDT/PWM, or RISC-V user
mode. If you are interested in adding one of these features, please see
:doc:`/contributing/index`.
.. figure:: hifive1-revb.jpg
:figwidth: 60%
:align: center
:alt: The HiFive1 Rev B development board.
The HiFive1 Rev B development board.
You can learn more about this board on the vendor's documentation page:
https://www.sifive.com/boards/hifive1-rev-b#documentation
Features
========
* Off-chip WiFi/Bluetooth networking
* 2 UART interfaces
* 9 PWM pins
* 19 digital IO pins
* 1 SPI controller with 3 CS pins
* 1 I2C interface
* 32Mbit SPI flash memory off-chip
Power Supply
============
.. include:: README.txt
:literal:
The board operates at 3V3 and 1V8 logic levels, but I/O voltage are all 3V3. It
can be supplied by a 5V USB input or a 7-12V jack.
.. include:: README-qemu.txt
:literal:
Installation
============
1. Download and install the toolchain:
.. code:: console
$ curl https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14.tar.gz
2. Download and install the J-Link Software Documentation Pack from
https://www.segger.com/downloads/jlink/.
.. code:: console
$ sudo apt install JLink_Linux_V656b_x86_64.deb
If you are planning to run NuttX on the QEMU version of this board, you will
need to build and install QEMU:
.. code:: console
$ git clone https://github.com/qemu/qemu
$ cd qemu
$ ./configure --target-list=riscv32-softmmu
$ make
$ sudo make install
Building NuttX
==============
If building QEMU, make sure to select the option
``CONFIG_ARCH_CHIP_FE310_QEMU=y`` in the Kconfig menu (``make menuconfig``).
Flashing
========
Flash NuttX with the J-Link and run:
.. code:: console
$ picocom -b 115200 /dev/ttyACM0
$ /opt/SEGGER/JLink_V656b/JLinkGDBServer -device FE310
$ riscv64-unknown-elf-gdb ./nuttx
(gdb) target extended-remote:2331
(gdb) load nuttx
(gdb) c
If running on QEMU, you can use the following command:
.. code:: console
$ qemu-system-riscv32 -nographic -machine sifive_e -kernel ./nuttx
Configurations
==============
To configure NuttX, use the following command:
.. code:: console
$ ./tools/configure.sh hifive1-revb:<config>
Where ``<config>`` is one of the configurations listed below.
nsh
---
A simple configuration including the NSH shell.