基于开源实时操作系统 NuttX 打造的内核,提供基础的内核功能,包括任务调度、跨进程通信、文件系统、TCP/IP 协议栈、设备驱动和电源管理等,同时对上提供标准的 POSIX 接口。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
chore: override .github and .gitee from dev-backup-20260509 Override .github and .gitee directory contents with the version from dev-backup-20260509 branch to fix incorrect content. Source: open-vela/nuttx@dev-backup-20260509 (237da93d82) | 1 个月前 | |
chore: add openvela-reviewer team to CODEOWNERS Append @open-vela/openvela-reviewer so the team can review PRs. | 26 天前 | |
Documentation/szpi-esp32s3: Add doc for LCD Basic NuttShell configuration console and LCD enabled. Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com> | 2 个月前 | |
arch/esp32s3: The MISO, MOSI and C/S are optional The MISO or MOSI pin is optional. The C/S pin is unnecessary when ESP32S3_SPI_UDCS is enabled. Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com> | 2 个月前 | |
nuttx/audio: fix memory leak in audio_open error path When priv allocation fails in audio_open(), the previously allocated upper->status is not freed, causing a memory leak. Add cleanup code in the error path to free upper->status when allocation fails. Signed-off-by: cenzhanquan1 <cenzhanquan1@xiaomi.com> | 2 个月前 | |
nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com> | 2 个月前 | |
boards/szpi-esp32s3: Init configuration for LCD Init configuration for ST7789 LCD. Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com> | 2 个月前 | |
cmake/nuttx_mkversion: quote NUTTX_VERSION_LIST to fix empty variable expansion When git tag output is empty, NUTTX_VERSION_LIST is an empty variable. Without quotes, string(REPLACE) expands to only 3 arguments instead of the required 4, causing a CMake error. Add quotes around ${NUTTX_VERSION_LIST} to ensure it is always passed as an argument even when empty. Signed-off-by: xuxin19 <xuxin19@xiaomi.com> | 2 个月前 | |
crypto/rijndael: fix undefined behavior in AES decryption last round Cast TD4 S-box lookup results to uint32_t before left shift by 24 to avoid signed integer overflow. When TD4 returns a value >= 128, shifting by 24 as signed int exceeds INT_MAX, triggering UBSan runtime error: "left shift of N by 24 places cannot be represented in type 'int'". Signed-off-by: makejian <makejian@xiaomi.com> | 2 个月前 | |
Revert "cmake: support devicetree header file generation in build [multiple board]" This reverts commit 5bf1cde685b25791ac89c3379c03982e1b275a64. Reason for revert: remove DTS_DYNAMIC_API_SUPPORT Signed-off-by: fangpeina <fangpeina@xiaomi.com> | 2 个月前 | |
drivers/lcd/st7789: Add option for RGB data endian Big endian by default. Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com> | 2 个月前 | |
build: add initial cmake build system 1. Update all CMakeLists.txt to adapt to new layout 2. Fix cmake build break 3. Update all new file license 4. Fully compatible with current compilation environment(use configure.sh or cmake as you choose) ------------------ How to test From within nuttx/. Configure: cmake -B build -DBOARD_CONFIG=sim/nsh -GNinja cmake -B build -DBOARD_CONFIG=sim:nsh -GNinja cmake -B build -DBOARD_CONFIG=sabre-6quad/smp -GNinja cmake -B build -DBOARD_CONFIG=lm3s6965-ek/qemu-flat -GNinja (or full path in custom board) : cmake -B build -DBOARD_CONFIG=$PWD/boards/sim/sim/sim/configs/nsh -GNinja This uses ninja generator (install with sudo apt install ninja-build). To build: $ cmake --build build menuconfig: $ cmake --build build -t menuconfig -------------------------- 2. cmake/build: reformat the cmake style by cmake-format https://github.com/cheshirekow/cmake_format $ pip install cmakelang $ for i in find -name CMakeLists.txt;do cmake-format $i -o $i;done $ for i in find -name *\.cmake;do cmake-format $i -o $i;done Co-authored-by: Matias N <matias@protobits.dev> Signed-off-by: chao an <anchao@xiaomi.com> | 2 个月前 | |
archivefs:add option to select archive format | 2 个月前 | |
graphics/nxterm : fix compile error. nxterm/nxterm_kbdin.c: In function 'nxterm_poll': nxterm/nxterm_kbdin.c:238:11: error: incompatible types when assigning to type 'spinlock_t' {aka 'struct spinlock_s'} from type 'irqstate_t' {aka 'unsigned char'} 238 | flags = spin_lock_irqsave_nopreempt(&priv->spinlock); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nxterm/nxterm_kbdin.c:309:53: error: incompatible type for argument 1 of 'up_irq_restore' 309 | spin_unlock_irqrestore_nopreempt(&priv->spinlock, flags); | ^~~~~ | | | spinlock_t {aka struct spinlock_ Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com> | 2 个月前 | |
drivers/ioexpander: Add support for PCA9557 Datasheet: https://www.ti.com/lit/ds/symlink/pca9557.pdf Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com> | 2 个月前 | |
Revert "libs/libc/stdlib/lib_exit.c: fix multiple definition of __dso_handle in msys2" This reverts commit 8f96e59aee9cd0c5bbb82e01044d109f8588fec2. The implementation of __dso_handle is independent of the HOST OS but dependent on the specific compiler. Therefore, this patch will cause compilation failures for other cross-compilers on the Windows platform, such as arm-none-eabi-gcc and aarch64-none-elf-gcc. Constraints should be applied to compiler target rather than compiler host. Signed-off-by: Shanmin Zhang <zhangshanmin@xiaomi.com> | 2 个月前 | |
mm: Add double-free detection to delay list When same memory is freed twice and both added to delay list (race condition in interrupt context), it causes crash later in mm_forcefree() when processing the delay list. This patch adds early detection in add_delaylist() using: 1. Magic value (addr ^ 0xDEADBEEF) for O(1) fast path 2. List traversal for confirmation when magic matches The double-free will be caught immediately with DEBUGASSERT instead of crashing later in free_delaylist() Changes: - Add MM_DELAY_MAGIC and magic field to mm_delaynode_s - Implement two-step detection in add_delaylist() - Sync implementation across mm_heap and tlsf allocators Signed-off-by: ligd <liguiding1@xiaomi.com> | 2 个月前 | |
net/udp: fix sndbufs member access in udp_sendto_buffered The sndbufs field was moved to socket_conn_s as s_sndbufs in the new NuttX version. Line 955 was missed during rebase while line 718 was already correctly updated. Fix: conn->sndbufs -> conn->sconn.s_sndbufs | 1 个月前 | |
openamp/open-amp.defs: use new config to enable cache Because the original macro already be deprecated Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com> | 2 个月前 | |
pass1/make: ko folder cleanup This adds cleaning of kernel module folder ko/ to distclean. They are created with kernel module like apps/irqnest/kmod/Makefile Signed-off-by: Yanfeng Liu <p-liuyanfeng9@xiaomi.com> | 2 个月前 | |
perf: add noinstrument_function to up_perf_gettime and related functions Add noinstrument_function attribute to up_perf_gettime and its helper functions (like cp15_pmu_rdccr) across all architectures. These functions are called by perf_gettime which is used in the instrument callback path, and must not be instrumented to avoid infinite recursion when CONFIG_ARCH_INSTRUMENT_ALL is enabled. Signed-off-by: yezhonghui <yezhonghui@xiaomi.com> | 2 个月前 | |
Revert "[BUGFIX]:Syscall parameter and return value truncation" This reverts commit a9cb604f0cede2bb785af1a9da9ed27986ac7c80. Signed-off-by: anjiahao <anjiahao@xiaomi.com> | 2 个月前 | |
tools/refresh.sh: Add log for progress Log $ ./tools/refresh.sh --silent --defaults arch:risc-v Normalizing all boards in arch: risc-v ! [1/227] Normalize arty_a7/nsh [2/227] Normalize arty_a7/netnsh [3/227] Normalize arty_a7/knsh # ... ... Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com> | 2 个月前 | |
Merge branch 'master' into vela apache/nuttx commit id: eb27ebba8adfe29644a7b890f86e6f16941921dc Signed-off-by: ligd <liguiding1@xiaomi.com> Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
Revert "wireless/bluetooth: fix format warning in bt_conn" This reverts commit d220429282327ba74c73505dbd8b58626681c4a0. Reason for revert: revert type warning process Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com> | 2 个月前 | |
Merge remote-tracking branch 'mirtos/master' into dev-upmerge-nuttx-10.1-0507 Signed-off-by: liuhaitao <liuhaitao@xiaomi.com> | 2 个月前 | |
x86_64: rename the nuttx binary with the multiboot1 loader to nuttx.mb1 Signed-off-by: Shanmin Zhang <zhangshanmin@xiaomi.com> | 2 个月前 | |
Merge branch 'master' into vela apache/nuttx commit id: eb27ebba8adfe29644a7b890f86e6f16941921dc Signed-off-by: ligd <liguiding1@xiaomi.com> Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
Merge remote-tracking branch 'mirtos/master' into dev-upmerge-nuttx-10.1-0507 Signed-off-by: liuhaitao <liuhaitao@xiaomi.com> | 2 个月前 | |
AUTHORS: add Yamamoto Takashi Yamamoto Takashi has submitted the ICLA and should be added to the AUTHORS file Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com> | 2 个月前 | |
nuttx_header: add nuttx header file for dfxd Signed-off-by: yezhonghui <yezhonghui@xiaomi.com> | 2 个月前 | |
cmake(feat):add default install prefix path to ${BINARY}/staging | 2 个月前 | |
Merge branch 'master' into vela apache/nuttx commit id: eb27ebba8adfe29644a7b890f86e6f16941921dc Signed-off-by: ligd <liguiding1@xiaomi.com> Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
INVIOLABLES.md: Fix a simple alignment and change occurrences of Nuttx to NuttX. | 2 个月前 | |
arm: move userspace header delcare from board to arm/common Reuse the arm_interal.h as linkstage parameter should prefer Reduce the userspace dup, we should use custom userspace header for default, otherwise should select NUTTX_USERSPACE_CUSTOM. Signed-off-by: buxiasen <buxiasen@xiaomi.com> | 2 个月前 | |
devicetree: porting devicetree scripts, header and common files from zephyr devicetree detail directory: https://github.com/zephyrproject-rtos/zephyr/tree/main/dts -> nuttx/devicetree/ https://github.com/zephyrproject-rtos/zephyr/tree/main/include/zephyr/sys -> nuttx/include/nuttx/devicetree https://github.com/zephyrproject-rtos/zephyr/tree/main/scripts/dts -> nuttx/tools/devicetree https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/devicetree.h -> nuttx/include/nuttx/devicetree.h Signed-off-by: fangpeina <fangpeina@xiaomi.com> | 2 个月前 | |
Merge branch 'master' into vela apache/nuttx commit id: eb27ebba8adfe29644a7b890f86e6f16941921dc Signed-off-by: ligd <liguiding1@xiaomi.com> Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
xtensa/esp32s3: Add support for RT-Timer based on Systimer peripheral Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com> | 2 个月前 | |
Merge branch 'master' into vela apache/nuttx commit id: eb27ebba8adfe29644a7b890f86e6f16941921dc Signed-off-by: ligd <liguiding1@xiaomi.com> Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
Documentation: move ReleaseNotes Move the release notes under Documentation folder for future cleanup Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com> | 2 个月前 |

Apache NuttX 是一个实时操作系统(RTOS),着重于标准合规性和占用空间小。可扩展从 8 位到 64 位微控制器环境,NuttX 中的主要管理标准为 POSIX 和 ANSI 标准。对于这些标准下不可用或不适用于深度嵌入式环境(例如 fork())的功能,NuttX 采用了 Unix 和其他常见 RTOS(如 VxWorks)的附加标准 API。
为了简洁,文档中的许多部分会将 Apache NuttX 简称为 NuttX。
快速入门
第一次使用 NuttX?请阅读快速入门指南! 如果没有可用的开发板,NuttX 提供了自己的模拟器,可以在终端上运行。
文档
您可以在文档页面上找到当前的 NuttX 文档。
或者,您可以通过遵循文档构建的说明自行构建文档。
旧的 NuttX 文档仍然可以在Apache 维基中找到。
支持的开发板
NuttX 支持多种平台。在支持的平台页面上查看完整列表。
贡献
如果您希望为 NuttX 项目做出贡献,请阅读贡献指南,了解关于 Git 使用、编码标准、工作流程和 NuttX 原则的信息。
许可
此代码库中的代码遵循 Apache 2 许可,或与 Apache 2 许可兼容的许可。更多详情请查看许可页面。
项目介绍
基于开源实时操作系统 NuttX 打造的内核,提供基础的内核功能,包括任务调度、跨进程通信、文件系统、TCP/IP 协议栈、设备驱动和电源管理等,同时对上提供标准的 POSIX 接口。
定制我的领域