How apache/nuttx works
Apache NuttX is a small-footprint, POSIX-oriented RTOS for embedded systems. Its user-facing workflow is application code using OS interfaces to access hardware and services; the supplied tree shows examples including AI-engine control, USB mass storage and Xbox input, audio, and multicast listener handling. ARM support spans architecture-specific exception and interrupt code plus many chip-family drivers. The excerpts do not expose the kernel’s general syscall, scheduler, filesystem, or device-registration implementations, so those connections are not inferred here.
Main entry points: arm ARM core support · ai_engine.h AI engine API · ai_engine.c AI engine driver · usbhost_xboxcontroller.c Xbox USB driver
Components 19
ARM platform
- ARM core support
arch/arm/src/arm - ARMv6-M runtime
arch/arm/src/armv6-m - ARMv7-M runtime
arch/arm/src/armv7-m - ARMv8-M runtime
arch/arm/src/armv8-m - AM335x drivers
arch/arm/src/am335x - AT32 drivers
arch/arm/src/at32
Device interfaces
- AI engine API
include/nuttx/aie/ai_engine.h - AI engine driver
drivers/aie/ai_engine.c - AI engine lower half
- USB mass storage
drivers/usbhost/usbhost_storage.c - Mass-storage protocol
include/nuttx/usb/storage.h - Xbox USB driver
drivers/usbhost/usbhost_xboxcontroller.c - Controller API
include/nuttx/input/xbox-controller.h - Audio subsystem
audio/audio.c
Networking
- MLD query handling
net/mld/mld_query.c
C library
- Decimal conversion
libs/libc/stream/lib_dtoa_engine.c
Other components
- Application
- USB device
- IPv6 router
Connections 16
- Application → AI engine API: uses API
- AI engine API → AI engine driver: registers driver
- AI engine driver → AI engine lower half: dispatches operations
- USB device → Mass-storage protocol: exchanges commands
- USB device → USB mass storage: connects to
- USB device → Xbox USB driver: connects to
- Application → Controller API: uses API
- Xbox USB driver → Controller API: provides reports
- Application → Audio subsystem: uses audio
- IPv6 router → MLD query handling: handles queries
- Application → Decimal conversion: formats numbers
- ARM core support → ARMv6-M runtime: supports runtime
- ARM core support → ARMv7-M runtime: supports runtime
- ARM core support → ARMv8-M runtime: supports runtime
- AM335x drivers → ARM core support: uses ARM support
- AT32 drivers → ARM core support: uses ARM support