NuttX 介绍

it2025-09-07  115

(嵌入式 实时操作系统 rtos nuttx 7.1)

NuttX 介绍

转载请注明出处: http://blog.csdn.net/zhumaill/article/details/24197637

1  NuttX 实时操作系统

NuttX 是一个实时操作系统(RTOS)。强调标准兼容和小型封装,具有从8位到32位微控制器环境的高度可扩展性。NuttX 主要遵循  Posix 和 ANSI 标准,对于在这些标准下不支持的功能,或者不适用于深度嵌入环境的功能(如 fork()),採用来自 Unix 和常见 RTOS (如 VxWorks)的额外的标准 API。 NuttX 的第一个版本号由 Gregory Nutt 于 2007 年在宽松的 BSD 许可证下公布。

2  关键特征

标准兼容核心任务管理模块化设计全然可抢占天然可扩展高度可配置图形化配置工具easy扩展到新的处理器架构、 SoC 架构或板级架构FIFO 和轮转调度实时的、确定性的、支持优先级继承类 POSIX/ANSI 的任务控制、命名消息队列、计数信号量、时钟/定时器、信号、pthread、环境变量、文件系统类VxWorks的任务管理和看门狗定时器BSD 套接字接口优先级管理的扩展可选的具有地址环境的任务(进程)可继承的“控制终端”和 I/O 重定向请求式分页系统日志能够构建为开放的、平面的嵌入式 RTOS,或单独构建为具有系统调用接口的微内核内建每线程 CPU 负载測量良好的文档支持

3  支持的平台

3.1  Allwinner

A10 (Cortex-A8)

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)

3.3  Freescale

M68HCS12Freescale i.MX1 (ARM920-T)FreeScale KL25Z (ARM Cortex-M0+)FreeScale Kinetis K40 (ARM Cortex-M4)FreeScale Kinetis K60 (ARM Cortex-M4)

3.4  基于主机 PC 的仿真

Linux/Cygwin 用户模式仿真

3.5  Intel

Intel 80x52Intel 80x86

3.6  MicroChip

PIC32MX2xx Family (Modified MIPS32)PIC32MX4xx Family (Modified MIPS32)PIC32MX7xx Family (Modified MIPS32)

3.7  nuvoTon

nuvoTon NUC120 (ARM Cortex-M0)

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.9  Renesas/Hitachi:

Renesas/Hitachi SuperHRenesas M16C/26

3.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)

3.11  Texas Instruments (some formerly Luminary)

TI TMS320-C5471 (ARM7TDMI)TI Calypso (ARM7TDMI)TI TMS320-DM320 (ARM9E6JS)TI/Stellaris LM3S6432 (ARM Cortex-M3)TI/Stellaris LM3S6432S2E (ARM Cortex-M3)TI/Stellaris LM3S6918 (ARM Cortex-M3)TI/Stellaris LM3S6965 (ARM Cortex-M3)TI/Stellaris LM3S8962 (ARM Cortex-M3)TI/Stellaris LM3S9B96 (ARM Cortex-M3)TI/Stellaris LM4F120x (ARM Cortex-M4)TI/Tiva TM4C123G (ARM Cortex-M4)

3.12  ZiLOG

ZiLOG ZNEO Z16FZiLOG eZ80 Acclaim!ZiLOG Z8Encore!ZiLOG Z180ZiLOG Z80

4  支持的板卡

16z amber arduino-due avr32dev1 c5471evm cloudctrl compal_e86 compal_e88 compal_e99 demo9s12ne64 ea3131 ea3152 eagle100 ekk-lm3s9b96 ez80f910200kitg ez80f910200zco fire-stm32v2 freedom-kl25z hymini-stm32v kwikstik-k40 lincoln60 lm3s6432-s2e lm3s6965-eklm3s8962-ek lm4f120-launchpad lpc4330-xplorer lpcxpresso-lpc1768 maple mbed mcu123-lpc214x micropendous3 mikroe-stm32f4 mirtoo mx1ads ne64badge ntosd-dm320 nucleus2g nutiny-nuc120 olimex-lpc1766stk olimex-lpc2378 olimex-lpc-h3131 olimex-stm32-p107 olimex-stm32-p207 olimex-strp711 open1788 p112pcblogic-pic32mx pcduino-a10 pic32mx7mmb pic32-starterkit pirelli_dpl10 pjrc-8051 px4fmu-v2_upstream qemu-i486 rgmp sam3u-ek sam4e-ek sam4l-xplained sam4s-xplained sama5d3x-ek samd20-xplained 神舟IV号 sim skp16c26 spark stm3210e-eval stm3220g-eval stm3240g-eval stm32f100rc_genericstm32f3discovery stm32f429i-disco stm32f4discovery stm32ldiscovery stm32_tiny stm32vldiscovery sure-pic32mx teensy tm4c123g-launchpad twr-k60n512 ubw32 us7032evb1 viewtool-stm32f107 vsn xtrs z16f2800100zcog z80sim z8encore000zco z8f64200100kit zkit-arm-1769 zp214xpa    

5  文件系统

基于内存的微型根伪文件系统虚拟文件系统(VFS)可挂载的卷:绑定挂载点、文件系统和块设备驱动器。通用系统日志(SYSLOG)支持FAT12/16/32文件系统支持NFSclient:client側支持网络文件系统(NFS,版本号3。UDP)NXFFS:微型 NuttX 损耗平衡 FLASH 文件系统 SMART:Ken Pettit提供的 FLASH文件系统。

procfs/ 文件系统基于 SPI 的 MMC/SD/SDH 卡的通用驱动ROMFS文件系统支持二进制载入器支持下列格式: 脱离链接的 ELF 模块脱离链接的 NXFLAT 模块。NXFLAT 是能够从文件系统芯片内运行的二进制格式。PATH 变量支持通过 TFTP 和 FTP、HTML (wget)、 Zmodem (sz 和 rz) 传输文件(接收和发送)。

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 的button和键盘模拟设备:支持模拟到数字转换(ADC)、数字到模拟转换(DAC)、多路复用器和放大器

7  C/C++ 库

全然集成在 OS 内的标准 C 库通过一个标准数学库提供浮点支持插件 uClibc++ 模块提供标准 C++ 库,支持 io 流、 字符串、 STL、 RTTI、异常等(LGPL)

8  网络

TCP/IP、 UDP、 ICMP、 IGMPv2(client)栈SLIP一个 cJSON 移植小型封装(基于 uIP)BSD兼容的套接字层网络有用程序(DHCP server和client、SMTP client、 TELNET client、FTP server和client、TFTP client、HTTP server和client、NTP client)。可继承的 TELNET 会话(如“控制终端”)。

NFS client:client側支持网络文件系统(NFS。版本号3,UDP)一个 Jeff Poskanzer 的 THTTPD HTTP server的 NuttX 移植,集成于 NXFLAT。提供嵌入式 CGI。UDP 网络发现, XML RPC server支持网络模块(如 TI CC3000 WLAN 模块)

9  Flash 支持

灵感来自 MTD 的存储技术设备接口NAND 支持FTL:简单的 Flash 转换层,支持 FLASH 上的文件系统NXFFS: NuttX 损耗平衡 FLASH 文件系统支持基于 SPI 的 FLASH 设备

10  USB 支持

10.1  USB 主机支持

USB 主机控制器驱动和设备依赖的 USB 类驱动的 USB 主机架构可用于 NXP LPC17xx 的 USB 主机控制器驱动可用于 USB 大容量存储设备和 HID 键盘的设备依赖的 USB 类驱动

10.2  USB 设备支持

USB 设备控制器驱动和设备依赖的 USB 类驱动的类 Gadget 架构可用于 PIC32、 NXP LPC17xx、 LPC214x、 LPC313x、 LPC43xx、 STMicro STM32F1x、 STM32F2x、 STM32F4x 和 TI DM320 的 USB 设备控制器驱动可用于 USB 串口和 USB 大容量存储设备的设备依赖的 USB 类驱动内建用于 USB 调试的 USB 追踪功能

11  图形支持

帧缓冲驱动并行port和 SPI port的 LCD 和OLED 的图形 LCD 驱动段式 LCD 驱动NX Graphics 子系统:一个图形库、窗体化系统和字体支持,工作于帧缓冲或 LCD 驱动NuttX Widgets:用保守的 C++ 编写的图形用户界面,集成于 NX GraphicsNuttX 窗体管理器:一个微型窗体管理器,基于 NX Graphics 子系统和 NuttX Widgets

12  插件

12.1  NuttShell

一个用于 NuttX 的、小型的、可扩展的、类 bash 的 shell,具有丰富的特征集和小型封装。

12.2  Pascal 执行时

Pascal 插件能够从 SourceForge 站点下载。

13  开发环境

Linux + GNU make + GCC/binutils for LinuxLinux + GNU make + SDCC for LinuxWindows with Cygwin + GNU make + GCC/binutils (Cygwin下自己定义构建)Windows with Cygwin + GNU make + SDCC (Cygwin下自己定义构建)Windows with Cygwin + GNU make + Windows 本地工具链Windows 本地 (CMD.exe) + GNUWin32 (含 GNU make) + MinGW 主机 GCC 编译器 + Windows 本地工具链Wine + GNU make + Windows 本地工具链

14  链接

官方站点: http://www.nuttx.org Wiki: http://www.nuttx.org/doku.php?id=wiki 下载: http://sourceforge.net/projects/nuttx

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/bhlsheji/p/4624290.html

相关资源:NUTTX OS用户手册
最新回复(0)