- Download and install toolchain
- Build and install qemu
$ git clone https://github.com/qemu/qemu $ cd qemu $ ./configure --target-list=riscv64-softmmu $ make $ sudo make install
- Modify defconfig
--- a/boards/risc-v/k210/maix-bit/configs/nsh/defconfig +++ b/boards/risc-v/k210/maix-bit/configs/nsh/defconfig @@ -25,6 +25,7 @@ CONFIG_EXAMPLES_HELLO=y CONFIG_FS_PROCFS=y CONFIG_IDLETHREAD_STACKSIZE=2048 CONFIG_INTELHEX_BINARY=y +CONFIG_K210_WITH_QEMU=y CONFIG_LIBC_PERROR_STDOUT=y CONFIG_LIBC_STRERROR=y
- 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
- Run the nuttx with qemu
$ qemu-system-riscv64 -nographic -machine sifive_u -bios ./nuttx
NOTE: To run nuttx for kostest, gdb needs to be used to load both nuttx_user.elf and nuttx
$ qemu-system-riscv64 -nographic -machine sifive_u -s -S $ riscv64-unknown-elf-gdb -ex 'target extended-remote:1234' -ex 'load nuttx_user.elf' -ex 'load nuttx' -ex 'c'
- TODO
Support FPU Support RISC-V User mode