This is an automated email from the ASF dual-hosted git repository. simbit18 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit b7de65096877a90dee51f0e8b7474530ae274f4d Author: Matteo Golin <[email protected]> AuthorDate: Thu Oct 23 11:19:01 2025 -0400 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 <[email protected]> --- .../fe310/boards/hifive1-revb/README-qemu.txt | 44 --------- .../risc-v/fe310/boards/hifive1-revb/README.txt | 35 ------- .../fe310/boards/hifive1-revb/hifive1-revb.jpg | Bin 0 -> 289682 bytes .../risc-v/fe310/boards/hifive1-revb/index.rst | 110 ++++++++++++++++++++- 4 files changed, 105 insertions(+), 84 deletions(-) diff --git a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/README-qemu.txt b/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/README-qemu.txt deleted file mode 100644 index 55e6e08c5c9..00000000000 --- a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/README-qemu.txt +++ /dev/null @@ -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 diff --git a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/README.txt b/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/README.txt deleted file mode 100644 index ff3ac180a07..00000000000 --- a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/README.txt +++ /dev/null @@ -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 diff --git a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/hifive1-revb.jpg b/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/hifive1-revb.jpg new file mode 100644 index 00000000000..4c1a926884c Binary files /dev/null and b/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/hifive1-revb.jpg differ diff --git a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/index.rst b/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/index.rst index 4e49d42af4e..bbaec110746 100644 --- a/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/index.rst +++ b/Documentation/platforms/risc-v/fe310/boards/hifive1-revb/index.rst @@ -1,9 +1,109 @@ +============= +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 ============ -hifive1-revb + +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. + +Installation ============ -.. include:: README.txt - :literal: +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 +--- -.. include:: README-qemu.txt - :literal: +A simple configuration including the NSH shell.
