Apache #NuttX on #Ox64 BL808 Emulator makes a #RISCV ECALL System Call ... Here's why it fails
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#machine-mode-vs-supervisor-mode
#Ox64 BL808 Emulator runs Apache #NuttX RTOS in the Web Browser ... Just compile #TinyEMU Emulator to WebAssembly (with Emscripten)
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#emulator-in-the-web-browser
#Ox64 BL808 Emulator hits a #RISCV ECALL Exception in Apache #NuttX RTOS ... Let's find out why
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#risc-v-exception-in-emulator
UART Output works OK in #Ox64 BL808 Emulator ... But ECALL crashes with a #RISCV Exception
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#emulator-prints-to-console
Emulating the UART Output for #Ox64 BL808 SBC
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#emulate-the-uart-output
Here's how we intercept the #BL808 UART Registers ... And emulate the #Ox64 UART Controller
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#intercept-the-uart-registers
Let's emulate the UART Registers for #BL808 SoC inside #Ox64 SBC
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#uart-registers-for-bl808-soc
Apache #NuttX RTOS boots OK in our #Ox64 BL808 Emulator!
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#run-tinyemu-emulator
#RISCV "Wait for Interrupt instruction (WFI) provides a hint to the implementation that the current hart can be stalled until an interrupt ... so a legal implementation is to simply implement WFI as a NOP" 🤔
Source: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf
Fixing the #RISCV Addresses in TinyEMU Emulator ... To match the Bouffalo Lab #BL808 SoC inside #Ox64
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#change-risc-v-addresses-in-tinyemu
Upcoming #RustLang support in #Zephyr OS
Source: https://github.com/zephyrproject-rtos/zephyr/issues/65837
Let's install TinyEMU #RISCV Emulator ... And tweak it to emulate #Ox64 BL808 SBC
Article: https://lupyuen.codeberg.page/articles/tinyemu2.html#install-tinyemu-emulator
How we run a #RustLang App on Apache #NuttX RTOS (QEMU #RISCV)
Source: https://gist.github.com/lupyuen/7be4bedc6a109b2c3d1201aee6030428
Building Apache #NuttX RTOS for TinyEMU #RISCV Emulator
Article: https://lupyuen.codeberg.page/articles/tinyemu.html#appendix-build-nuttx-for-tinyemu
Apache #NuttX RTOS talks to #VirtIO Devices ... By calling #OpenAMP Library
Article: https://lupyuen.codeberg.page/articles/tinyemu.html#nuttx-with-virtio-and-openamp
IoT Techie and Educator / Apache NuttX PMC