Apache NuttX is a mature, real-time embedded operating system (RTOS)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hujun5 608b59e401 smp: enable smp_call in all smp arch 2 days ago
.github tools/ci/docker/linux/Dockerfile: Restarting the Docker-Linux workflow a new attempt 5 days ago
Documentation risc-v/qemu-rv: Add Build Config for leds64_zig 3 days ago
arch smp: enable smp_call in all smp arch 2 days ago
audio nuttx/audio: Add amr and opus format control switches 2 weeks ago
binfmt nuttx: resolve various 'FAR' and 'CODE' issues 2 weeks ago
boards arm: Add support for CSK6011A SOC and CSK6011A-NANO board 3 days ago
cmake cmake/nuttx_kconfig.cmake: fixed the correct .config path in the build folder 1 week ago
crypto crypto: export interfaces abort aes-cmac 2 weeks ago
drivers sched: replace up_cpu_index with this_cpu 3 days ago
dummy build: add initial cmake build system 1 year ago
fs sched: use this_task replace nxsched_self 3 days ago
graphics nuttx: fix multiple 'FAR', 'CODE' and style issues 2 weeks ago
include smp: enable smp_call in all smp arch 2 days ago
libs libs/libm: fix epsilon relaxation in log and logf 3 days ago
mm sched: use this_task replace nxsched_self 3 days ago
net can: Before we use pstate, we should check if it is NULL. 3 days ago
openamp nuttx/atomic.h:replace ALL stdatomic.h with nuttx/stdatomic.h in nuttx/ 2 weeks ago
pass1 passl: Author Gregory Nutt: update licenses to Apache 4 years ago
sched smp: enable smp_call in all smp arch 2 days ago
syscall nuttx/syscall: delete getrandom in syscall.csv 2 weeks ago
tools ci-docker: add subversion to linux dockerfile 3 days ago
video build: add initial cmake build system 1 year ago
wireless nuttx: fix multiple 'FAR', 'CODE' and style issues 2 weeks ago
.asf.yaml feat: add a GitHub action to lint the YAML files 4 years ago
.gitignore boards/sim: Defconfigs for nand and mnemofs 3 days ago
.pre-commit-config.yaml Created pre-commit config file 3 weeks ago
.yamllint feat: add a GitHub action to lint the YAML files 4 years ago
AUTHORS AUTHORS: add Tomek CEDRO to the list 2 years ago
CMakeLists.txt CMake: fix CMake compile errors during the protected build mode 1 week ago
CONTRIBUTING.md Remove the tail spaces from all files except Documentation 2 years ago
INVIOLABLES.md INVIOLABLES.md: Fix a simple alignment and change occurrences of Nuttx 4 years ago
Kconfig make/disassembly: generate disassembly file 3 weeks ago
LICENSE libc/x86_64: port string functions from bionic 2 months ago
Makefile tools:fix some error use of shell command in Windows native build 2 years ago
NOTICE Remove the double blank line from source files 3 years ago
README.md Gathering community recommendations 11 months ago
ReleaseNotes Documentation: move ReleaseNotes 12 months ago

README.md

POSIX Badge License Issues Tracking Badge Contributors GitHub Build Badge Documentation Badge

Apache 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 RTOSs (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()).

For brevity, many parts of the documentation will refer to Apache NuttX as simply NuttX.

Getting Started

First time on NuttX? Read the Getting Started guide! If you don't have a board available, NuttX has its own simulator that you can run on terminal.

Documentation

You can find the current NuttX documentation on the Documentation Page.

Alternatively, you can build the documentation yourself by following the Documentation Build Instructions.

The old NuttX documentation is still available in the Apache wiki.

Supported Boards

NuttX supports a wide variety of platforms. See the full list on the Supported Platforms page.

Contributing

If you wish to contribute to the NuttX project, read the Contributing guidelines for information on Git usage, coding standard, workflow and the NuttX principles.

License

The code in this repository is under either the Apache 2 license, or a license compatible with the Apache 2 license. See the License Page for more information.