NuttX:修订间差异
外观
删除的内容 添加的内容
本页面疑似侵犯版权 (TW) |
维护清理 |
||
(未显示6个用户的11个中间版本) | |||
第1行: | 第1行: | ||
{{Infobox OS |
|||
{{Copyvio| |
|||
| name = NuttX |
|||
url=* https://baike.so.com/doc/4758276-4973788.html |
|||
| logo = [[File:NuttX logo.png|NuttX]] |
|||
* https://www.oschina.net/project/tag/234/embed-os |
|||
| developer = Gregory Nutt |
|||
* https://blog.csdn.net/zhumaill/article/details/24197637 |
|||
| source_model = [[开放原始码]] |
|||
* https://blog.csdn.net/seawolfe/article/details/70739487 |
|||
| supported_platforms = [[ARM|ARM]], [[Atmel AVR|AVR]], [[AVR32]], [[HCS12]], [[LatticeMico32|LM32]], [[MIPS architecture|MIPS]], [[RISC-V]], [[SuperH]], [[Tensilica|Xtensa XL6]], [[Zilog Z80|Z80]] |
|||
* https://www.cnblogs.com/yffq/p/4558711.html |
|||
| family = [[实时操作系统]] |
|||
* https://www.cnblogs.com/bhlsheji/p/4624290.html |
|||
| released = {{Start date and age|2007}} |
|||
* http://www.stmcu.org/module/forum/thread-599179-1-1.html |
|||
| marketing_target = [[嵌入式系统]] |
|||
* https://blog.csdn.net/yt454287063/article/details/53258096 |
|||
| programmed_in = [[C语言|C]], [[C++]], [[汇编语言]] |
|||
* https://www.cnblogs.com/chaozhu/p/6269210.html |
|||
| working_state = 活跃 |
|||
* https://www.jianshu.com/p/54b204ca0aac| |
|||
| kernel_type = [[微内核]] |
|||
sign=<font size="3">[[UT:五月雨恋歌|'''<span style="color:#FF69B3;">梦蝶葬花</span>''']][[voy:User:五月雨恋歌|'''<span style="color:#007EEE;">@生涯不败</span>''']]</font> 2018年9月22日 (六) 07:18 (UTC)|date=9月22日 |
|||
| license = [[Apache License 2.0]] |
|||
}}<div id="copyvio" style="display:none;"> |
|||
| website = {{URL|nuttx.apache.org}} |
|||
}} |
|||
'''NuttX'''是一个专注于标准合规和占用少記憶體的[[实时操作系统]]([[RTOS]])。它可以在8位到32位的微控制器上部署。NuttX在编写时主要参照了[[POSIX]]和[[ANSI]]标准。对于那些标准中没有的部分,如fork()等,则参考了VxWorks或其他RTOS。 |
|||
NuttX最早是在2007年由Gregory Nutt于BSD协议下释出的。 |
|||
== 具体实现 == |
|||
NuttX 基本上完全是由C语言实现的,并且通过[[Kconfig]]生成GNU makefile。NuttX的发行版包括了NuttX内核本身和相当一部分的中间件和板级支持包。 |
|||
NuttX的内核和绝大多数代码完全是由Gregory Nutt完成的,并由他专门维护。所有的社区贡献都必须经过他批准。 |
|||
== 关键功能 == |
|||
* 符合各类重要标准 |
|||
* 核心任务管理 |
|||
* 模组化的微核心 |
|||
* 完全[[可抢占(计算机)]] |
|||
* 可扩展,高度可配置 |
|||
* 容易移植到各类新的处理器、SoC或者板级架构上 |
|||
* 先进先出和时间片轮转调度,并可以采取无节拍内核 |
|||
* 实时,具备确定性 |
|||
* 具备和POSIX/ANSI类似的任务控制,有名消息队列,计数信号量,时钟、定时器和信号,POSIX线程,环境变量和文件系统 |
|||
* 具备和VxWorks类似的任务管理和看门狗定时器 |
|||
* 具备和BSD类似的socket接口 |
|||
* 可选的进程实现 |
|||
* 支持对称多处理器 |
|||
* 支持可加载的内核模块 |
|||
* 支持线程本地存储(TLS) |
|||
* 支持系统日志 |
|||
* 可选实现的系统调用或直接函数调用 |
|||
* 内置了可针对各线程配置的CPU负载监控 |
|||
* 客制化的NuttX C库 |
|||
* 拥有完善的用户手册描述 |
|||
== 支持架构<ref>{{Cite web|title=Supported Platforms — NuttX latest documentation|url=https://nuttx.apache.org/docs/latest/introduction/supported_platforms.html|access-date=2022-06-03|work=nuttx.apache.org|archive-date=2022-07-28|archive-url=https://web.archive.org/web/20220728124944/https://nuttx.apache.org/docs/latest/introduction/supported_platforms.html|dead-url=no}}</ref> == |
|||
* [[ARM architecture|ARM]] |
|||
** [[ARM7]]TDMI (德州仪器TMS320 C6571, Calypso, MoxART, NXP LPC214x, LPC2378, STMicro STR71x) |
|||
** [[ARM9]]20T (飞思卡尔i.MX1) |
|||
** [[ARM9]]26EJS (德州仪器 DM320, NXP LPC31xx) |
|||
** [[ARM Cortex-A]]5 (爱特梅尔SAMA5D2, SAMA5D3, SAMA5D4) |
|||
** [[ARM Cortex-A]]8 (全志A10) |
|||
** [[ARM Cortex-A]]9 (NXP/Freescale i.MX6) |
|||
** [[ARM Cortex-R]]4/R4F (TI TMS570, Samsung Artik) |
|||
** [[ARM Cortex-M]]0/M0+ (新唐: NUC120, NXP: KL25Z, KL26Z, LPC11xx, Atmel: SAMD20/21, SAML21, ST Micro STM32 F0) |
|||
** [[ARM Cortex-M]]3 ([[STMicroelectronics|ST Micro]] [[STM32]] F1/F2/L4, TI/Stellaris LM3S, NXP LPC17xx, Atmel SAM3U/3X, SiliconLabs EFM32) |
|||
** [[ARM Cortex-M]]4 (有或没有浮点处理器单元:STM32 F3/F4/L4,TI/Stellaris LM4F/TM4C, NXP LPC43xx/LPC54xx, Freescale Kinetis K20/K28/K40/60/64/66, Atmel SAM4C/4E/4S/4L, Infineon XMC4xxx, Nordic NRF52xxx) |
|||
** [[ARM Cortex-M]]7 (爱特梅尔SAMV71/SAME70, ST Micro STM32 F7, STM32 H7, NXP i.MX RT) |
|||
* [[Atmel AVR]] |
|||
** Atmel 8-bit AVR (AT90USB, ATmega) |
|||
** [[AVR32]] |
|||
* Freescale |
|||
** M68HCS12 |
|||
* Intel |
|||
** [[X86|80×86]] |
|||
* MIPS |
|||
** MicroChip PIC32MX (MIPS M4K) |
|||
** MicroChip PIC32MZEF (MIPS M5150) |
|||
* Misoc |
|||
** LM32 (Qemu) |
|||
* OpenRISC |
|||
** mor1kx |
|||
* Renesas/Hitachi |
|||
** Renesas/Hitachi [[SuperH]] |
|||
** Renesas M16C/26 |
|||
** Renesas RX65N |
|||
* [[RISC-V]] |
|||
** LiteX on ARTY A7 |
|||
* Xtensa LX6 |
|||
** Expressif ESP32 |
|||
* [[Zilog]] |
|||
** Zilog Z16F |
|||
** [[Zilog eZ80]] Acclaim! |
|||
** [[Z8 Encore!|Zilog Z8Encore!]] |
|||
** Zilog Z180 |
|||
** [[Zilog Z80]] |
|||
== 参考资料 == |
|||
{{Reflist}} |
|||
== 外部链接 == |
|||
* [http://www.nuttx.org NuttX 主页]{{Wayback|url=http://www.nuttx.org/ |date=20200914032327 }} |
|||
* [http://tech.groups.yahoo.com/group/nuttx/ Official NuttX用户组 (Yahoo Groups)]{{Wayback|url=http://tech.groups.yahoo.com/group/nuttx/ |date=20110811021855 }} |
|||
* [https://groups.google.com/forum/#!forum/nuttx NuttX官方用户组 (Google Groups)]{{Webarchive|url=http://arquivo.pt/wayback/20110122130054/https://groups.google.com/forum/#!forum/nuttx |date=2011-01-22 }} |
|||
* [https://nuttx.apache.org/docs/latest/index.html NuttX文件檔] {{Wayback|url=https://nuttx.apache.org/docs/latest/index.html |date=20211102170948 }} |
|||
{{Real-time operating systems}} |
|||
{{DEFAULTSORT:Nuttx}} |
|||
[[Category:实时操作系统]] |
|||
[[Category:嵌入式操作系统]] |
|||
[[Category:自由作業系統]] |
|||
[[Category:ARM操作系统]] |
|||
[[Category:使用BSD许可证的软件]] |
|||
[[Category:微內核]] |
2024年3月21日 (四) 09:02的最新版本
开发者 | Gregory Nutt |
---|---|
编程语言 | C, C++, 汇编语言 |
作業系統家族 | 实时操作系统 |
運作狀態 | 活跃 |
源码模式 | 开放原始码 |
首次发布 | 2007年 |
当前版本 |
|
市場取向 | 嵌入式系统 |
支援平台 | ARM, AVR, AVR32, HCS12, LM32, MIPS, RISC-V, SuperH, Xtensa XL6, Z80 |
内核类别 | 微内核 |
许可证 | Apache License 2.0 |
官方網站 | nuttx |
仓库 |
NuttX是一个专注于标准合规和占用少記憶體的实时操作系统(RTOS)。它可以在8位到32位的微控制器上部署。NuttX在编写时主要参照了POSIX和ANSI标准。对于那些标准中没有的部分,如fork()等,则参考了VxWorks或其他RTOS。
NuttX最早是在2007年由Gregory Nutt于BSD协议下释出的。
具体实现
[编辑]NuttX 基本上完全是由C语言实现的,并且通过Kconfig生成GNU makefile。NuttX的发行版包括了NuttX内核本身和相当一部分的中间件和板级支持包。 NuttX的内核和绝大多数代码完全是由Gregory Nutt完成的,并由他专门维护。所有的社区贡献都必须经过他批准。
关键功能
[编辑]- 符合各类重要标准
- 核心任务管理
- 模组化的微核心
- 完全可抢占(计算机)
- 可扩展,高度可配置
- 容易移植到各类新的处理器、SoC或者板级架构上
- 先进先出和时间片轮转调度,并可以采取无节拍内核
- 实时,具备确定性
- 具备和POSIX/ANSI类似的任务控制,有名消息队列,计数信号量,时钟、定时器和信号,POSIX线程,环境变量和文件系统
- 具备和VxWorks类似的任务管理和看门狗定时器
- 具备和BSD类似的socket接口
- 可选的进程实现
- 支持对称多处理器
- 支持可加载的内核模块
- 支持线程本地存储(TLS)
- 支持系统日志
- 可选实现的系统调用或直接函数调用
- 内置了可针对各线程配置的CPU负载监控
- 客制化的NuttX C库
- 拥有完善的用户手册描述
- ARM
- ARM7TDMI (德州仪器TMS320 C6571, Calypso, MoxART, NXP LPC214x, LPC2378, STMicro STR71x)
- ARM920T (飞思卡尔i.MX1)
- ARM926EJS (德州仪器 DM320, NXP LPC31xx)
- ARM Cortex-A5 (爱特梅尔SAMA5D2, SAMA5D3, SAMA5D4)
- ARM Cortex-A8 (全志A10)
- ARM Cortex-A9 (NXP/Freescale i.MX6)
- ARM Cortex-R4/R4F (TI TMS570, Samsung Artik)
- ARM Cortex-M0/M0+ (新唐: NUC120, NXP: KL25Z, KL26Z, LPC11xx, Atmel: SAMD20/21, SAML21, ST Micro STM32 F0)
- ARM Cortex-M3 (ST Micro STM32 F1/F2/L4, TI/Stellaris LM3S, NXP LPC17xx, Atmel SAM3U/3X, SiliconLabs EFM32)
- ARM Cortex-M4 (有或没有浮点处理器单元:STM32 F3/F4/L4,TI/Stellaris LM4F/TM4C, NXP LPC43xx/LPC54xx, Freescale Kinetis K20/K28/K40/60/64/66, Atmel SAM4C/4E/4S/4L, Infineon XMC4xxx, Nordic NRF52xxx)
- ARM Cortex-M7 (爱特梅尔SAMV71/SAME70, ST Micro STM32 F7, STM32 H7, NXP i.MX RT)
- Atmel AVR
- Atmel 8-bit AVR (AT90USB, ATmega)
- AVR32
- Freescale
- M68HCS12
- Intel
- MIPS
- MicroChip PIC32MX (MIPS M4K)
- MicroChip PIC32MZEF (MIPS M5150)
- Misoc
- LM32 (Qemu)
- OpenRISC
- mor1kx
- Renesas/Hitachi
- Renesas/Hitachi SuperH
- Renesas M16C/26
- Renesas RX65N
- RISC-V
- LiteX on ARTY A7
- Xtensa LX6
- Expressif ESP32
- Zilog
- Zilog Z16F
- Zilog eZ80 Acclaim!
- Zilog Z8Encore!
- Zilog Z180
- Zilog Z80
参考资料
[编辑]- ^ Release 12.7.0. 2024年10月30日 [2024年11月24日].
- ^ Supported Platforms — NuttX latest documentation. nuttx.apache.org. [2022-06-03]. (原始内容存档于2022-07-28).