Adopt
Why?
Difficult or impossible to change functionality of embedded system after deployment Embedded development is difficult, mostly in C No standard component model, so customization cost is high
Many instances of compromised IoT devices Vulnerabilities cannot all be found before shipping
WebAssembly provides: Robustness
- Memory safety on IoT HW without MMU (most MCUs) Change functionality without full OTA
- Need dynamic loading and linking of application code Enable application portability - important for marketplace
- Enable portability across HW platforms
- Enable portability across Operating Systems
- RTOS ecosystem is fragmented Reduce the development & testing effort
- Support high level languages
- Reduce testing requirements of higher layers
What?
Use WebAssembly as sandboxing technology for applications running on RTOS (NuttX).