We'll take Apache #NuttX RTOS for QEMU Emulator ... And run it on #Star64 JH7110 #RISCV SBC
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#start-with-qemu-emulator
Here's how we print to the Serial Console on QEMU #RISCV Emulator ... By writing to the UART Address
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#print-to-qemu-console
Printing to QEMU Console ... In #RISCV Assembly
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#print-to-qemu-console
All about the UART Controller on #Star64 JH7110 #RISCV SBC
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#uart-controller-on-star64
To boot Apache #NuttX RTOS on #Star64 JH7110 SBC ... We need this #RISCV Linux Kernel Header
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#risc-v-linux-kernel-header
Magical Start Address of Apache #NuttX RTOS ... On #Star64 JH7110 #RISCV SBC
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#start-address-of-nuttx-kernel
Watch what happens when we boot Apache #NuttX RTOS on #Star64 JH7110 #RISCV SBC
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#boot-nuttx-on-star64
Apache #NuttX RTOS boots a tiny bit on #Star64 JH7110 #RISCV SBC 🎉 ... And crashes
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#boot-nuttx-on-star64
#RISCV Code runs at 3 Privilege Levels: Machine, Supervisor or User
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#risc-v-privilege-levels
After fixing, Apache #NuttX RTOS boots a bit more ... On #Star64 JH7110 #RISCV SBC
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#fix-the-nuttx-boot-code
Here's how #Linux gets the #RISCV Hart ID (CPU ID) from OpenSBI
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#appendix-hart-id-from-opensbi
#NuttX Boot Code for #Star64 JH7110 SBC ... Modified for #RISCV Supervisor Mode
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#appendix-nuttx-in-supervisor-mode
To run Apache #NuttX RTOS on #Star64 JH7110 SBC: We switch the code from #RISCV Machine Mode to Supervisor Mode
Article: https://lupyuen.codeberg.page/articles/nuttx2.html#downgrade-nuttx-to-supervisor-mode