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=riscv64-softmmu $ make $ sudo make install 3. 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 CONFIG_MAX_TASKS=64 4. 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 5. Run the nuttx with qemu $ qemu-system-riscv64 -nographic -machine sifive_u -bios ./nuttx 6. TODO Support FPU Support RISC-V User mode