本帖最后由 末未本 于 2015-1-10 23:13 编辑
! h3 L. E1 ~; ?; O$ l+ K1 F
% P- E2 B+ f4 l/ V3 O# o* iNuttX 介绍转载请注明出处:http://blog.csdn.net/zhumaill/article/details/24197637
+ ? [9 h' o, x% y9 S4 D" l
, B n" ?6 x6 N, E" t/ c1 N7 }% {1 NuttX 实时操作系统 R) _5 c5 A# Z( W; I
NuttX 是一个实时操作系统(RTOS),强调标准兼容和小型封装,具有从8位到32位微控制器环境的高度可扩展性。NuttX 主要遵循 Posix 和 ANSI 标准,对于在这些标准下不支持的功能,或者不适用于深度嵌入环境的功能(如 fork()),采用来自 Unix 和常见 RTOS (如 VxWorks)的额外的标准 API。
) X' a0 W! V( e V) z2 B8 n# o& [9 S
NuttX 的第一个版本由 Gregory Nutt 于 2007 年在宽松的 BSD 许可证下发布。! O9 T' O: W8 r9 i) |4 l( f- U
' q8 [0 o+ T; X, |8 b; R2 关键特征- 标准兼容
- 核心任务管理
- 模块化设计
- 完全可抢占
- 天然可扩展
- 高度可配置
- 图形化配置工具
- 容易扩展到新的处理器架构、 SoC 架构或板级架构
- FIFO 和轮转调度
- 实时的、确定性的、支持优先级继承
- 类 POSIX/ANSI 的任务控制、命名消息队列、计数信号量、时钟/定时器、信号、pthread、环境变量、文件系统
- 类VxWorks的任务管理和看门狗定时器
- BSD 套接字接口
- 优先级管理的扩展
- 可选的具有地址环境的任务(进程)
- 可继承的“控制终端”和 I/O 重定向
- 请求式分页
- 系统日志
- 可以构建为开放的、平面的嵌入式 RTOS,或单独构建为具有系统调用接口的微内核
- 内建每线程 CPU 负载测量
8 C- ]! a7 U$ b. x: _ 3 支持的平台3.1 Allwinner- A10 (Cortex-A8)' v% Z* }' Q2 ~0 X4 j
3.2 Atmel- AVR ATMega128 (8-bit AVR)
- AVR AT90USB64x and AT90USB6128x (8-bit AVR)
- AVR32 AT32UC3BXXX (32-bit AVR32)
- Atmel SAMD20 (ARM Cortex-M0+)
- Atmel SAM3U (ARM Cortex-M3)
- Atmel SAM3X (ARM Cortex-M3)
- Atmel SAM4L (ARM Cortex-M4)
- Atmel SAM4S (ARM Cortex-M4)
- Atmel SAM4E (ARM Cortex-M4)
- Atmel SAMA5D3 (ARM Cortex-A5). _, Q& e. G# |, e
3.3 Freescale- M68HCS12
- Freescale i.MX1 (ARM920-T)
- FreeScale KL25Z (ARM Cortex-M0+)
- FreeScale Kinetis K40 (ARM Cortex-M4)
- FreeScale Kinetis K60 (ARM Cortex-M4)5 M% M3 Y4 @( Q% T
3.4 基于主机 PC 的仿真- Linux/Cygwin 用户模式仿真6 {0 D3 J. f! i
3.5 Intel- Intel 80x52
- Intel 80x863 _ ?7 ?! J" ~. |+ }* G( e$ p+ R) @
3.6 MicroChip- PIC32MX2xx Family (Modified MIPS32)
- PIC32MX4xx Family (Modified MIPS32)
- PIC32MX7xx Family (Modified MIPS32)* n4 ~ [) T9 T6 w, }7 I
3.7 nuvoTon- nuvoTon NUC120 (ARM Cortex-M0)
4 O. R* W" c$ f/ Y2 ?. i 3.8 NXP- NXP LPC214x (ARM7TDMI)
- NXP LPC2378 (ARM7TDMI)
- NXP LPC3131 (ARM9E6JS)
- NXP LPC315x (ARM9E6JS)
- NXP LPC176x (ARM Cortex-M3)
- NXP LPC178x (ARM Cortex-M3)
- NXP LPC43xx (ARM Cortex-M4)3 o# q1 L! M9 T$ E' L$ }
3.9 Renesas/Hitachi:
1 |8 s) R: K: c$ L! S; w1 A' n3.10 STMicroelectronics- STMicro STR71x (ARM7TDMI)
- STMicro STM32L152 (STM32 L "EnergyLite" Line, ARM Cortex-M3)
- STMicro STM32F100x (STM32 F1 "Value Line"Family, ARM Cortex-M3)
- STMicro STM32F103C4/C8 (STM32 F1 "Low- and Medium-Density Line" Family, ARM Cortex-M3)
- STMicro STM32F103x (STM32 F1 Family, ARM Cortex-M3)
- STMicro STM32F107x (STM32 F1 "Connectivity Line" family, ARM Cortex-M3)
- STMicro STM32F207x (STM32 F2 family, ARM Cortex-M3)
- STMicro STM32F303x (STM32 F3 family, ARM Cortex-M4).
- STMicro STM32F407x (STM32 F4 family, ARM Cortex-M4)
- STMicro STM32 F427/437 (STM32 F4 family, ARM Cortex-M4)
- STMicro STM32 F429 (STM32 F4 family, ARM Cortex-M4): q% q4 E: z) ~7 C6 W6 E1 C- r
3.11 Texas Instruments (some formerly Luminary)3.12 ZiLOG4 支持的板卡' ]' c& e! n, `
16z
7 O+ K X U7 ~; |% n& Y9 Pamber l* _0 [& d; w
arduino-due
+ W: t, e) {' Y* ]5 ~# c" P$ Yavr32dev1. |: n- p7 j8 y6 a& \
c5471evm
0 W" x d9 p/ L z6 Kcloudctrl+ u% o7 v Q- h% v) P
compal_e86
1 o; h( x$ q% D+ r) Fcompal_e88
; y k7 K) }- V7 Qcompal_e996 g' T6 w3 z% U3 w
demo9s12ne640 Q- N% K9 C3 Q1 g6 f
ea3131
2 x8 t2 s# s4 B- vea3152
+ g( W3 c7 {! ^1 E eeagle100
: U# k" B; L, Iekk-lm3s9b96
. P1 U$ a, ~' u+ u) g+ ~, b0 d0 sez80f910200kitg
+ D$ n* y+ _& v6 Aez80f910200zco
" Q2 l* _) d9 j1 @9 n* afire-stm32v21 C& k: W0 c+ [) v4 @
freedom-kl25z2 i L) ]" J5 _( f ?8 u2 M- ~
hymini-stm32v0 T& e. a/ R9 i9 Q. X2 a) z
kwikstik-k40
9 _* _7 [. k# A+ tlincoln608 o) T3 `& P) `
lm3s6432-s2e
) o; o" \+ m C% L' k5 c, ulm3s6965-ek | lm3s8962-ek
! j5 J# b) o* S1 d- {lm4f120-launchpad* E+ e' Q) d5 B j
lpc4330-xplorer
$ y$ O V+ w8 [lpcxpresso-lpc1768
8 z3 l$ V* V2 O v2 d; @3 Xmaple* p9 [1 B$ F* _4 N9 `, C- ^
mbed
/ b$ f. U% w) e' ` g" Bmcu123-lpc214x( B0 R0 d4 \; Z, @* Z1 K/ r, E
micropendous3! ]( B. ^) K; Y7 g5 ~3 D
mikroe-stm32f4
+ n' s3 Y4 z3 O# E% Qmirtoo
( K% J( Q: @1 L2 i( Z* ~6 [- Y: Lmx1ads
# {: a6 @: x( d1 I+ Z4 Zne64badge
" c5 ~: ~+ I& y1 s* Bntosd-dm320
; J# F" U% G8 J; @& ^. D( knucleus2g& E& g( n5 ]1 R8 B% p0 d
nutiny-nuc120
/ I( ^3 }8 p& polimex-lpc1766stk
6 h7 f" H6 v/ A" aolimex-lpc2378
4 e8 i$ N7 z; W1 \% h( |. u! Rolimex-lpc-h3131
( [ J8 C" C. E# u6 e" I6 polimex-stm32-p1077 g/ t& Y( i! ?; ^& G
olimex-stm32-p207! `+ S% m/ Y; s& m
olimex-strp711- _. O7 L/ Q, [1 ] y5 {
open1788/ m2 d1 T" m" h) l
p112 | pcblogic-pic32mx
5 I6 P' n# |+ opcduino-a10
9 o7 @* ?: Z9 E/ z' e+ I% Q" _pic32mx7mmb) V9 K) o7 j1 v) e$ p
pic32-starterkit) s4 g2 L8 Y; d4 s u
pirelli_dpl10
- O! R! x+ f/ y C2 S% T; G: d( xpjrc-8051
& E& q( R U5 ?; h5 Hpx4fmu-v2_upstream
- b' }- K' n6 Z6 @% _+ \' jqemu-i486
/ t2 `: H+ d, O4 g5 Z- Jrgmp4 R3 }8 J1 g# F) s! r* f( z# h$ a
sam3u-ek# l5 |7 z1 _& L( g8 S
sam4e-ek8 ~% O. z# V% {/ M, _
sam4l-xplained+ [3 ~6 v# a. d( U0 [$ o
sam4s-xplained, H# A- ~+ O0 M0 p5 L8 y( B
sama5d3x-ek
0 D. U' O4 N4 k3 bsamd20-xplained
) b6 X; J3 |3 L+ f2 K神舟IV号
8 H* t9 \3 i& Q4 [. fsim
) [( e( E: ~- c( B2 T$ c0 \7 zskp16c26. Y* X9 n: q* L/ e
spark0 C3 E/ D7 G: h
stm3210e-eval
# L" q4 b% ~% Z+ ostm3220g-eval
& R8 `3 u! [; U3 C/ gstm3240g-eval
y( ]1 s8 Y- l g9 i5 Nstm32f100rc_generic | stm32f3discovery6 Z2 u; B" W5 Y! z5 a6 L! ^
stm32f429i-disco
0 x! v8 O- N, Ustm32f4discovery
& U: M2 A! {: o8 ]$ rstm32ldiscovery
2 J! {, H2 `7 t$ f1 |. W; ystm32_tiny
% }( x0 I' a1 N6 P; @stm32vldiscovery
% @1 K6 t5 R; u3 g+ m) a3 Psure-pic32mx; Y& S$ d5 r( ?6 J2 u& s
teensy
0 r% a+ X: t$ J) @tm4c123g-launchpad' t1 I" x! v( z) P( X( T. d* \
twr-k60n512
' b K X1 M: W2 p( N$ P5 A7 \ubw32
I3 c) _" ]- C4 u0 f( h- eus7032evb12 x& j* M) ]2 D* {1 B6 L2 r3 i
viewtool-stm32f107# y7 t4 _! }1 m0 _
vsn; l- |0 |0 L) b0 `
xtrs
( H& y3 S2 w) |5 d% gz16f2800100zcog% r- ~% F$ A: {
z80sim
8 I: Z; Q' c$ p2 o( p# pz8encore000zco" O+ S9 t2 J* n8 U
z8f64200100kit5 N5 R( O' W0 J/ W! N: t
zkit-arm-17691 n; ?# i, T' n! ~
zp214xpa+ v" ^) W. s$ n U5 U2 `+ C
: G3 J/ A1 j: V* l# ]+ [9 @5 m3 A
|
' H- ]# a) c8 F& f R5 文件系统- 基于内存的微型根伪文件系统
- 虚拟文件系统(VFS)
- 可挂载的卷:绑定挂载点、文件系统和块设备驱动器。
- 通用系统日志(SYSLOG)支持
- FAT12/16/32文件系统支持
- NFS客户端:客户端侧支持网络文件系统(NFS,版本3,UDP)
- NXFFS:微型 NuttX 损耗平衡 FLASH 文件系统
- SMART:Ken Pettit提供的 FLASH文件系统。
- procfs/ 文件系统
- 基于 SPI 的 MMC/SD/SDH 卡的通用驱动
- ROMFS文件系统支持
- 二进制加载器支持下列格式: O3 D& ?$ f x: P$ P
- 脱离链接的 ELF 模块
- 脱离链接的 NXFLAT 模块。NXFLAT 是可以从文件系统芯片内执行的二进制格式。/ F8 v% y5 o8 X0 m; I. M
- PATH 变量支持
- 通过 TFTP 和 FTP、HTML (wget)、 Zmodem (sz 和 rz) 传输文件(接收和发送)。. _( R% p# N5 k
6 设备驱动- VFS 支持字符和块驱动
- 网络、 USB (主机)、 USB (设备)、 串口、 I2C、 I2S、 NAND、 CAN、 ADC、 DAC、 PWM、 正交编码器和看门狗定时器驱动架构。
- RAMDISK、 管道、 FIFO、 /dev/null、 /dev/zero 驱动
- 基于 SPI 或 SDIO 的 MMC/SD/SDH 卡的通用驱动
- 电源管理子系统
- 内建 FreeModBus 1.5.0 版提供的 ModBus 支持
- 图形设备:帧缓冲驱动、图形和段式 LCD 驱动
- 音频子系统:编解码器、音频输入和输出驱动。命令行和图形界面媒体播放器应用程序
- 输入设备:触摸屏、USB 键盘、USB鼠标、基于 GPIO 的按钮和键盘
- 模拟设备:支持模拟到数字转换(ADC)、数字到模拟转换(DAC)、多路复用器和放大器6 }" Z6 C- }$ |9 \
7 C/C++ 库- 完全集成在 OS 内的标准 C 库
- 通过一个标准数学库提供浮点支持
- 插件 uClibc++ 模块提供标准 C++ 库,支持 io 流、 字符串、 STL、 RTTI、异常等(LGPL)
* {4 J$ W* s$ Y4 j# {2 o" O1 E 8 网络- TCP/IP、 UDP、 ICMP、 IGMPv2(客户端)栈
- SLIP
- 一个 cJSON 移植
- 小型封装(基于 uIP)
- BSD兼容的套接字层
- 网络实用程序(DHCP 服务器和客户端、SMTP 客户端、 TELNET 客户端、FTP 服务器和客户端、TFTP 客户端、HTTP 服务器和客户端、NTP 客户端)。可继承的 TELNET 会话(如“控制终端”)。
- NFS 客户端:客户端侧支持网络文件系统(NFS,版本3,UDP)
- 一个 Jeff Poskanzer 的 THTTPD HTTP 服务器的 NuttX 移植,集成于 NXFLAT,提供嵌入式 CGI。
- UDP 网络发现, XML RPC 服务器
- 支持网络模块(如 TI CC3000 WLAN 模块) N, w5 A* W3 s5 h% I2 D; F
9 Flash 支持- 灵感来自 MTD 的存储技术设备接口
- NAND 支持
- FTL:简单的 Flash 转换层,支持 FLASH 上的文件系统
- NXFFS: NuttX 损耗平衡 FLASH 文件系统
- 支持基于 SPI 的 FLASH 设备7 G2 @8 y" |5 l6 M* Q, F
10 USB 支持10.1 USB 主机支持- USB 主机控制器驱动和设备依赖的 USB 类驱动的 USB 主机架构
- 可用于 NXP LPC17xx 的 USB 主机控制器驱动
- 可用于 USB 大容量存储设备和 HID 键盘的设备依赖的 USB 类驱动0 e# I7 f( I- d+ n+ k* e. `
10.2 USB 设备支持- USB 设备控制器驱动和设备依赖的 USB 类驱动的类 Gadget 架构
- 可用于 PIC32、 NXP LPC17xx、 LPC214x、 LPC313x、 LPC43xx、 STMicro STM32F1x、 STM32F2x、 STM32F4x 和 TI DM320 的 USB 设备控制器驱动
- 可用于 USB 串口和 USB 大容量存储设备的设备依赖的 USB 类驱动
- 内建用于 USB 调试的 USB 追踪功能' T+ T I1 L& n
11 图形支持- 帧缓冲驱动
- 并行端口和 SPI 端口的 LCD 和OLED 的图形 LCD 驱动
- 段式 LCD 驱动
- NX Graphics 子系统:一个图形库、窗口化系统和字体支持,工作于帧缓冲或 LCD 驱动
- NuttX Widgets:用保守的 C++ 编写的图形用户界面,集成于 NX Graphics
- NuttX 窗口管理器:一个微型窗口管理器,基于 NX Graphics 子系统和 NuttX Widgets
$ r; [& O5 r( q @: K$ P 12 插件12.1 NuttShell- 一个用于 NuttX 的、小型的、可扩展的、类 bash 的 shell,具有丰富的特征集和小型封装。 e4 C$ R4 j( H" O
12.2 Pascal 运行时
3 L! {( \2 j8 B3 m. l% ~2 ~8 [
0 M7 ` w5 j4 N- l官方网站:http://www.nuttx.org
7 O3 w/ r* b) W# ZWiki:http://www.nuttx.org/doku.php?id=wiki7 [) j. Q4 l" Q& b
下载:http://sourceforge.net/projects/nuttx# U, {' G% r! B9 u
|
您好,由于公司打算基于PIXHAWK开发自己的飞控,所以要用到NUTTX操作系统,可是这个操作系统国内的资料很少啊,您是我第一个见多用过的人,希望能给个指导,求加微信号leazfly,指导一下啊
现在NUTTX相关的资料很少