How we run a #RustLang App on Apache #NuttX RTOS (QEMU #RISCV)
Source: https://gist.github.com/lupyuen/7be4bedc6a109b2c3d1201aee6030428
Weekly GNU-like #MobileLinux Update (10/2024): #postmarketOS adds #systemd and #Phosh 0.37.0
#FreeBSD Userland: The Case for #RustLang
https://forums.freebsd.org/threads/the-case-for-rust-in-the-base-system.92024/
"Ficciones" by Jorge Luis Borges
Building Apache #NuttX RTOS for TinyEMU #RISCV Emulator
Article: https://lupyuen.codeberg.page/articles/tinyemu.html#appendix-build-nuttx-for-tinyemu
"The Rise and Fall of the EAST: How Exams, Autocracy, Stability, and Technology brought China success" by Yasheng Huang
Apache #NuttX RTOS talks to #VirtIO Devices ... By calling #OpenAMP Library
Article: https://lupyuen.codeberg.page/articles/tinyemu.html#nuttx-with-virtio-and-openamp
TinyEMU #RISCV Emulator supports #VirtIO Console ... Let's call it with Apache #NuttX RTOS
Article: https://lupyuen.codeberg.page/articles/tinyemu.html#virtio-console
👍 "Software Architecture: The Hard Parts - Modern Trade-Off Analyses for Distributed Architectures" (2021)
"Embedded need to be lean, simple, predictable, reliable." --> Sadly, that should be true for all software, but was sacrificed in the 1990s or so.
Big projects back then had "memory budgets", now in most projects we don't even know how much memory is required.
~1999, I ran a building automation system in Java, with a web UI in Java, attached (JServ back then) to a Apache webserver, on RedHat Linux with a fvwm95 desktop.... On 32MB of RAM!!
Architecture Decision Record (ADR): "captures an important architecture decision made along with its context and consequences"
https://github.com/joelparkerhenderson/architecture-decision-record#adr-example-templates
#STM32 MP2 goes 64-bit: Arm Cortex-A35 with 32-bit Arm Cortex-M33, GPU (1080p), video processing unit (VPU) and neural processing unit (NPU)
@rhempel @lupyuen Not expecting many to agree because most likely the # of CS grads here is way higher than EEs.
CS grads seem to think abstraction and CI are the key to good embedded, while at best they are incremental improvement. I've seen many embedded systems that sucked BECAUSE of bad abstraction. The key is knowing where to put the abstraction so you don't turn a finely tuned piece of event driven hardware into a glob of polling mess that fails to properly do several things at once.
IoT Techie and Educator / Apache NuttX PMC