nuttx/boards/risc-v/fe310/hifive1-revb
chao.an 64d7326ed5 compile/opt: add config DEBUG_OPT_UNUSED_SECTIONS
Enable this option to optimization the unused input sections with the
linker by compiling with " -ffunction-sections -fdata-sections ", and
linking with " --gc-sections ".

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-22 01:37:23 +08:00
..
configs/nsh sched: Disable pthread by default when DEFAULT_SMALL is enabled 2022-02-07 12:04:03 +08:00
include boards: risc-v: Author Masayuki Ishikawa: Update license to Apache 2021-03-12 16:15:44 +08:00
scripts compile/opt: add config DEBUG_OPT_UNUSED_SECTIONS 2022-04-22 01:37:23 +08:00
src arch/risc-v: Remove FAR from chip and board folder 2022-04-19 00:22:45 +03:00
Kconfig
README-qemu.txt Fix git clone repository 2021-01-20 22:35:59 +09:00
README.txt Fix git clone repository 2021-01-20 22:35:59 +09:00

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/incubator-nuttx.git
  $ git clone https://github.com/apache/incubator-nuttx-apps.git
  $ 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