NuttX:修订间差异
外观
删除的内容 添加的内容
本页面疑似侵犯版权 (TW) |
标签:撤销 |
||
第1行: | 第1行: | ||
{{Advert|date=2018年9月}} |
|||
{{Copyvio| |
|||
{{Infobox OS |
|||
url=* https://baike.so.com/doc/4758276-4973788.html |
|||
| name = NuttX |
|||
* https://www.oschina.net/project/tag/234/embed-os |
|||
| logo = [[File:NuttX logo.png|NuttX]] |
|||
* https://blog.csdn.net/zhumaill/article/details/24197637 |
|||
| developer = Gregory Nutt |
|||
* https://blog.csdn.net/seawolfe/article/details/70739487 |
|||
| source_model = [[开放原始码]] |
|||
* https://www.cnblogs.com/yffq/p/4558711.html |
|||
| 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/bhlsheji/p/4624290.html |
|||
| family = [[Real-time operating system]]s |
|||
* http://www.stmcu.org/module/forum/thread-599179-1-1.html |
|||
| latest_release_version = 7.25 |
|||
* https://blog.csdn.net/yt454287063/article/details/53258096 |
|||
| latest_release_date = 2018年6月2日 |
|||
* https://www.cnblogs.com/chaozhu/p/6269210.html |
|||
| marketing_target = [[Embedded system]]s |
|||
* https://www.jianshu.com/p/54b204ca0aac| |
|||
| programmed_in = [[C (programming language)|C]], [[C++]], [[汇编语言]] |
|||
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日 |
|||
| working_state = 活跃 |
|||
}}<div id="copyvio" style="display:none;"> |
|||
| kernel_type = [[Microkernel]] |
|||
| license = [[BSD licenses|BSD]] |
|||
| website = {{URL|http://www.nuttx.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库 |
|||
* 拥有完善的用户手册描述 |
|||
== 支持架构 == |
|||
* [[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 (新唐: 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 (MIPS32 24Kc) |
|||
** MicroChip PIC32MZ (MIPS32 M14k) |
|||
* Misoc |
|||
** LM32 (Qemu) |
|||
* OpenRISC |
|||
** mor1kx |
|||
* Renesas/Hitachi |
|||
** Renesas/Hitachi [[SuperH]] |
|||
** Renesas M16C/26 |
|||
* [[RISC-V]] |
|||
* Xtensa LX6 |
|||
** Expressif ESP32 |
|||
* [[Zilog]] |
|||
** Zilog Z16F |
|||
** [[Zilog eZ80]] Acclaim! |
|||
** [[Z8 Encore!|Zilog Z8Encore!]] |
|||
** [[Zilog Z80]] |
|||
== 参考资料 == |
|||
{{Reflist}} |
|||
== 外部链接 == |
|||
* [http://www.nuttx.org NuttX 主页] |
|||
* [http://tech.groups.yahoo.com/group/nuttx/ Official NuttX用户组 (Yahoo Groups)] |
|||
* [https://groups.google.com/forum/#!forum/nuttx NuttX官方用户组 (Google Groups)] |
|||
{{Real-time operating systems}} |
|||
{{DEFAULTSORT:Nuttx}} |
|||
[[Category:实时操作系统]] |
|||
[[Category:嵌入式操作系统]] |
|||
[[Category:自由作業系統]] |
|||
[[Category:ARM 操作系统]] |
|||
[[Category:使用BSD许可证的软件]] |
|||
[[Category:微內核]] |
2018年9月29日 (六) 10:55的版本
此條目疑似为广告或包含宣传性内容。 (2018年9月) |
开发者 | Gregory Nutt |
---|---|
编程语言 | C, C++, 汇编语言 |
作業系統家族 | Real-time operating systems |
運作狀態 | 活跃 |
源码模式 | 开放原始码 |
当前版本 | 7.25 (2018年6月2日) |
市場取向 | Embedded systems |
支援平台 | ARM, AVR, AVR32, HCS12, LM32, MIPS, RISC-V, SuperH, Xtensa XL6, Z80 |
内核类别 | Microkernel |
许可证 | BSD |
官方網站 | www |
仓库 |
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 (新唐: 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 (MIPS32 24Kc)
- MicroChip PIC32MZ (MIPS32 M14k)
- Misoc
- LM32 (Qemu)
- OpenRISC
- mor1kx
- Renesas/Hitachi
- Renesas/Hitachi SuperH
- Renesas M16C/26
- RISC-V
- Xtensa LX6
- Expressif ESP32
- Zilog
- Zilog Z16F
- Zilog eZ80 Acclaim!
- Zilog Z8Encore!
- Zilog Z80