Note
The present documentation is a recent addition to NuttX and was migrated from previous documentation content. For this reason, it is possible you may find broken links or formatting errors. You can help contribute fixes or improvements to this documentation by following these instructions.
Tip
You can find the old documentation here.
NuttX Documentation
NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).
Last Updated: 19 December 24 at 00:24
- Home
- Introduction
- Getting Started
- Contributing
- The Inviolable Principles of NuttX
- Supported Platforms
- OS Components
- Binary Loader
- Device Drivers
- NXFLAT
- NX Graphics Subsystem
- On-Demand Paging
- Audio Subsystem
- NuttX File System
- NuttX libraries
- Network Support
- Memory Management
- Syscall Layer
/tools
Host Tools- Architecture-Specific Code
- Boards Support
- CMake Support
- OpenAMP Support
- Video Subsystem
- Crypto API Subsystem
- Wireless Subsystem
- Applications
- Audio Utility libraries
- Bootloader Utilities
- Benchmark Applications
- CAN Utilities
- Cryptography Library Support
- File System Utilities
- Games
- Graphics Support
- Industrial Applications
- Inertial Libraries Support
- Interpreters
- Logging Utilities
- LTE Libraries and NSH Add-Ons
- Math Library Support
- Machine Learning Support
- Network Utilities
- NuttShell (NSH)
- Software Define Radio Libraries
- System Libraries and NSH Add-Ons
- Testing
- Host Side Tools
- Wireless Libraries and NSH Add-Ons
- Examples
- Implementation Details
- API Reference
- FAQ
- Guides
- NFS Client How-To
- USB Device Trace
- Simulator
- How to debug NuttX using QEMU and GDB
- How to use RNDIS
- Drivers
- Task Trace
- C++ Example using CMake
- pysimCoder integration with NuttX
- Custom Boards How-To
- Custom Apps How-to
- Running CI Test Locally
- High Performance: Zero Latency Interrupts, Maskable Nested Interrupts
- The Kernel Address Sanitizer (KASAN)
- Nested Interrupts
- Analyzing Cortex-M Hardfaults
- Core Dump
- Coresight - HW Assisted Tracing on ARM
- gdbserver
- GDB with Python
- Open Flash Loader
- Testing TCP/IP Network Stacks
- Auto-Mounter
- STM32 Null Pointer Detection
- STM32 CCM Allocator
- Run time stack statistics
- etc romfs
- Thread Local Storage
- Device Tree
- Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)
- Changing the System Clock Configuration
- Using Kernel Threads
- ARMv7-M Run Time Stack Checking
- Disabling the Stack Dump During Debugging
- Including Files in board.h
- Why can’t I put my special stuff in NuttX header files?
- Kernel Threads with Custom Stacks
- Versioning and Task Names
- Logging to a RAM Buffer
- ATM64 MTE extension
- IPv6
- Integrating with Newlib
- NuttX Protected Build
- Platform Directories
- Porting Drivers to the STM32 F7
- Semihosting
- Run NuttX on Renode
- Signaling Events from Interrupt Handlers
- Signaling Semaphores and Priority Inheritance
- Smaller Vector Tables
- How to port
- Glossary
- NuttX Logos