System Plane (NuttX)

The native real-time POSIX operating system runtime utilizing Skynet RT / Apache NuttX 12.x for microcontrollers and embedded runtimes.

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

0. Skynet RT Specification & Build System

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:

1. VirtIO & Hypervisor Handoff

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.