nuttx/boards/risc-v/k210/maix-bit
Gregory Nutt 198b8ae380 boards: Leverage PR 1150 to all remaining board Make.defs
Only Make.defs files tht followed the same pattern as the ARM Make.defs were modified.  This excludes some of the sim and renesas Make.defs files and all of the z80 Make.defs files.
2020-05-31 16:11:07 +01:00
..
configs boards: maix-bit: Update knsh/defconfig 2020-05-13 03:34:04 +01:00
include Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
kernel build: Move BOARD_DIR definition to common place 2020-05-24 20:20:12 +01:00
scripts boards: Leverage PR 1150 to all remaining board Make.defs 2020-05-31 16:11:07 +01:00
src build: Move .config check to the top Makefile 2020-05-20 17:57:34 +01:00
Kconfig Squashed commit of the following: 2019-12-31 09:06:20 -06:00
README-qemu.txt boards: maix-bit: Update instructions for kostest 2020-04-22 13:45:56 +08:00
README.txt boards: maix-bit: Add descriptions on how to write nuttx.bin to SPI-Flash 2020-05-05 17:21:32 -07:00

1. Download and install toolchain and openocd-k210

  $ 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 openocd-k210

  $ git clone https://github.com/kendryte/openocd-kendryte
  $ cd openocd-kendryte
  $ ./bootstrap & ./configure & make

3. Configure and build NuttX

  $ mkdir ./nuttx; cd ./nuttx
  $ git clone https://bitbucket.org/nuttx/nuttx.git
  $ git clone https://bitbucket.org/nuttx/apps.git
  $ cd nuttx
  $ make distclean
  $ ./tools/configure.sh maix-bit:nsh
  $ make V=1

4. Download and run the nuttx from SRAM (not SPI-Flash)

  $ picocom -b 115200 /dev/ttyUSB0
  $ sudo ./src/openocd -s ./tcl -f ./tcl/kendryte.cfg -m 0
  $ riscv64-unknown-elf-gdb ./nuttx
  (gdb) target extended-remote :3333
  (gdb) load nuttx
  (gdb) c

5. Write nuttx.bin to SPI-Flash

  $ pip3 install kflash
  $ kflash -p /dev/ttyUSB0 -b 1500000 ./nuttx/nuttx.bin

6. TODO

  Support peripherals such as GPIO/SPI/I2C/...
  Support FPU
  Support memory protection for user mode