NuttX Guest Environment
The NuttX System Plane provides a cleanroom, POSIX-compliant ANSI C99 real-time operating system runtime based on Skynet RT (an Apache 2.0 licensed fork of Apache NuttX). Tailored for embedded control, low-latency microcontrollers, AtomVM execution, and Sokhatsky Commander, it features a minimal footprint (~300K lines of code, capped at 2.88MB), a Kconfig/make build system, and support for ARMv7-M, ARMv7-A, ARMv8-M, ARMv8-A, and BCM2711 architectures.
SKYNET RT & NUTTX 12.X
Apache 2.0 licensed ANSI C99 POSIX RTOS runtime optimized for high-assurance embedded systems and AtomVM Erlang microcontrollers.
/* Skynet RT QEMU Execution */ ./tools/configure.sh qemu-armv7a:nsh kconfig-mconf Kconfig ./tools/mkconfig . > include/nuttx/config.h make -j qemu-system-arm -M virt -device loader,file=nuttx -nographic
HAL & ARCHITECTURE
Hardware Abstraction Layer defining CPU chips and board BSPs for clock counters, GPIO, I2C, SPI, UART, PWM, ADC, and power management.
/* Raspberry Pi Pico 2 (RP2350) Target */ ./tools/configure.sh raspberrypi-pico-2:usbnsh make -j picotool uf2 convert nuttx.bin nuttx.uf2 \ --family absolute --offset 0x10000000
RTOS KERNEL & VFS
Real-time scheduler, POSIX threads, semaphores, message queues, memory manager, ELF/FLAT loader, and Virtual File System (VFS, Plan 9 V9FS, ROMFS, BINFS).
/* POSIX Application Simulation */ ./tools/configure.sh sim:nsh make -j ./nuttx
HARDWARE BOARDS
Curated board primitives inheriting SoC chip drivers with full bootloader, DMA, and peripheral integration.
/* Supported Boards */ - CXD56XX: Sony Spresense 6-core MCU - PICO2: Raspberry Pi Pico 2 (RP2350) - VIRTIO: QEMU VirtIO ARM Virt Target - SIM: Native POSIX Host Simulator
Hardware & Profiles
- PICO 2 — Raspberry Pi Pico 2 (RP2350 & RP2040)
- CXD5602 — Sony Spresense 6-core ARM Cortex-M4F
- RK3399 — Rockchip Hexa-Core 64-bit SoC
- SIM & QEMU — POSIX Simulation & ARM Virt Target
Kernel Subsystems
- SCHED & TASK — Priority-based POSIX threads & tasks
- V9FS & ROMFS — Plan 9 network FS & Flash ROM file system
- AtomVM — Erlang VM execution on microcontrollers
- LIBC & LIBM — Standard C runtime & math libraries
Specification & Architecture
Skynet RT provides a menu-driven configuration pipeline (`kconfig-mconf Kconfig`) and POSIX build architecture organized into HAL, Kernel, Drivers, File Systems, and Userland Applications:
When running as a System Plane image in Synrc VE OS.1, Skynet RT / NuttX boots via seL4 Microkit Loader, Slim Bootloader (SBL), or direct seL4 Protection Domain (PD) entry. Serial console, NSH shell, and I/O streams route directly through VirtIO-Console and VirtIO-Net drivers inside isolated real-time sandboxes.