mirror of
https://github.com/apache/nuttx.git
synced 2026-05-20 20:44:39 +08:00
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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user