Here's how we make a #RISCV System Call to Apache #NuttX Kernel ... With some quirks on Tiny C Compiler
Article: https://lupyuen.codeberg.page/articles/tcc.html#hello-nuttx
Tiny C Compiler in #WebAssembly has compiled our C Program to #RISCV ... But it won't run on Apache #NuttX RTOS because the C Library is missing!
Article: https://lupyuen.codeberg.page/articles/tcc.html#test-with-apache-nuttx-rtos
#RustLang Apps won't build correctly for Apache #NuttX RTOS ... Unless we create a Custom Rust Target for QEMU #RISCV
Source: https://github.com/lupyuen/nuttx-rust-app#rust-custom-target-for-qemu-risc-v-on-apache-nuttx-rtos
Implementing fprintf() in #ZigLang is particularly problematic ... Here's a quick hack with Zig CompTime
Article: https://lupyuen.codeberg.page/articles/tcc.html#fearsome-fprintf-and-friends
Creating a #RustLang Custom Target for QEMU #RISCV ... So Rust Apps will build OK for Apache #NuttX RTOS
Source: https://github.com/lupyuen/nuttx-rust-app#rust-custom-target-for-qemu-risc-v-on-apache-nuttx-rtos
Our #ZigLang Wrapper emulates File Access for Tiny C Compiler in #WebAssembly
Article: https://lupyuen.codeberg.page/articles/tcc.html#file-input-and-output
Tiny C Compiler won't run in #WebAssembly because it calls POSIX Functions ... So we emulate them in #ZigLang
Article: https://lupyuen.codeberg.page/articles/tcc.html#posix-for-webassembly
How we compile Tiny C Compiler to #WebAssembly ... With #ZigLang Compiler
Article: https://lupyuen.codeberg.page/articles/tcc.html#zig-compiles-tcc-to-webassembly
Hacking our #Sourdough Recipe with a pH Meter ... Someone please make an #IoT Sensor 🙏
Recipe: https://lupyuen.codeberg.page/articles/sourdough.html
Here's our demo of Tiny C Compiler running in the Web Browser ... Thanks to #WebAssembly and #ZigLang Compiler
Article: https://lupyuen.codeberg.page/articles/tcc.html#tcc-in-the-web-browser
Can we compile and test Apache #NuttX Apps in the Web Browser? Let's explore with TCC #RISCV Compiler, compiled to #WebAssembly with #ZigLang Compiler
#Ox64 BL808 Emulator will trigger Timer Interrupts ... To emulate the #RISCV OpenSBI System Timer for Apache #NuttX RTOS
Article: https://lupyuen.codeberg.page/articles/tinyemu3.html#appendix-trigger-the-timer-interrupt
GnssLogger: "analysis and logging of all types of Location and Sensor data such as GPS (Global Positioning System), network location and other sensor data"
Source: https://play.google.com/store/apps/details?id=com.google.android.apps.location.gps.gnsslogger
Patching the #TinyEMU Emulator and the #RISCV RDTIME Instruction to read the System Time
Article: https://lupyuen.codeberg.page/articles/tinyemu3.html#appendix-read-the-system-time
Inside TinyEMU #RISCV Emulator: This is how we emulate the #OpenSBI System Timer with the Machine-Mode System Timer
Article: https://lupyuen.codeberg.page/articles/tinyemu3.html#appendix-start-the-system-timer
IoT Techie and Educator / Apache NuttX PMC