- 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 $ export PATH=
- Build openocd-k210
$ git clone https://github.com/kendryte/openocd-kendryte $ cd openocd-kendryte $ ./bootstrap & ./configure & make
- 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 maix-bit:nsh $ make V=1
- 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
- Write nuttx.bin to SPI-Flash
$ pip3 install kflash $ kflash -p /dev/ttyUSB0 -b 1500000 ./nuttx/nuttx.bin
NOTE: The kflash_gui is not recommended because it's unstable
- TODO
Support peripherals such as GPIO/SPI/I2C/... Support FPU Support RISC-V U-mode including memory protection