NuttX实时操作系统

您所在的位置:网站首页 nuttx内核性怎么样 NuttX实时操作系统

NuttX实时操作系统

2024-07-05 18:04| 来源: 网络整理| 查看: 265

NuttX 是一个实时操作系统(RTOS),其重点遵从特定的标准并且尽量小型化。 可伸缩良好且可适应从8位到32位单片机环境,Nuttx主要遵循的标准是 Posix和ANSI标准。 其他的一些来自于Unix或者其他常规的实时操作系统(比如VxWorks)的标准的API,要么是因为该功能不在如上标准中,要么是因为该功能不适合嵌入式环境(比如fork())。

NuttX首次由格雷戈里•纳特于2007年在宽松的BSD许可下发布 。

关键特性 标准兼容。 核心任务管理。 模块化设计。 完全抢占的。 可扩展性好。 高度可配置的。 容易移植到新的处理器架构,SoC架构,或板级的架构。 先进先出、循环和“分散”调度机制。 实时的、确定性的、并且支持优先级继承。 动态始终操作。 类似于POSIX / ANSI的任务控制,有名消息队列,计数信号量,时钟/定时器、信号,线程,健壮的互斥锁,(线程)取消点,环境变量、文件系统。 与VxWorks相类似的任务管理和看门狗定时器。 BSD套接字接口。 对管理抢占式特性的扩展。 具有地址环境的可选任务(的处理 )。 对称多处理(SMP) 可加载内核模块;轻量的嵌入式的共享库。 内存配置:(1)平面地址空间嵌入构建(所有函数都在一个地址空间内,没有虚拟地址导致的地址重叠情况),(2)由微处理器情况的保护构建,(3)有MMU情况下的内核构建。 内存分配器:(1)标准堆内存分配,(2)粗粒度分配器,(3)共享内存,(4)基于每个进程动态大小的堆。 线程本地存储(TLS) 可继承的“控制终端”和I / O重定向。伪终端。 按需分页。 系统日志记录。 可以构建作为一个开放单一镜像平面式的嵌入式实时操作系统(内存地址空间唯一)或分开构建,构建一个具有系统调用控制接口的安全内核(类似Linux方式) 内置线程级CPU负载测量。 客制化的NuttX C库 NuttX用户指南很好的描述了应用程序接口 。 支持的平台 ARM ARM7TDMI (TI TMS320 C5471, Calypso, MoxART, NXP LPC214x, LPC2378, STMicro STR71x) ARM920T (Freescale i.MX1) ARM926EJS (TI DM320, NXP LPC31xx) ARM Cortex-A5 (Atmel SAMA5D2, SAMA5D3, SAMA5D4) ARM Cortex-A8 (Allwinner A10) ARM Cortex-A9 (NXP/Freescale i.MX6) ARM Cortex-R4/R4F (TI TMS570) ARM Cortex-M0 (nuvoTon NUC120, NXP/Freescale KL25Z, KL26Z, Atmel SAMD20/21, SAML21, ST Micro STM32 F0) ARM Cortex-M3 (ST Micro STM32 F1/L4/F2, TI/Stellaris LM3S, NXP LPC17xx, Atmel SAM3U/3X, SiliconLabs EFM32) ARM Cortex-M4 (with/without floating point unit: ST Micro STM32 F3/F4/L4, TI/Stellaris LM4F/TM4C, NXP LPC43xx, Freescale Kinetis K20/K40/60/64/66, Atmel SAM4C/4E/4S/4L, Infineon XMC4xxx) ARM Cortex-M7 (Atmel SAMV71/SAME70, ST Micro STM32 F7) Atmel AVR Atmel 8-bit AVR (AT90USB, ATmega) AVR32 Freescale M68HCS12 Intel 80×86 MIPS MicroChip PIC32MX (MIPS32 24Kc) MicroChip PIC32MZ (MIPS32 M14k) Misoc

LM32 (Qemu)

Renesas/Hitachi Renesas/Hitachi SuperH Renesas M16C/26 RISC-V Xtensa LX6 Expressif ESP32 Zilog Zilog Z16F ZNeo Zilog eZ80 Acclaim! Zilog Z8Encore! Zilog Z80 文件系统 简洁的基于内存的,伪根文件系统 。 虚拟文件系统(VFS) 可挂载的卷。 绑定挂载点、文件系统和块设备驱动程序。 通用的系统日志(SYSLOG)支持。 FAT12/16/32文件系统的支持。 NFS客户端。 客户端支持网络文件系统(NFS版本3,基于UDP)。 NXFFS。简洁的具有磨损平衡特性的NuttX闪存文件系统。 SMART。来自于肯•佩蒂特的闪存文件系统。 ROMFS文件系统的支持。 BINFS伪文件系统支持。 HOSTFS文件系统支持(模拟)。 联合文件系统。 支持合并和覆盖文件系统 procfs 伪文件系统。 基于SPI总线的 MMC / SD / SDH卡的通用驱动程序。 支持以下格式的一个二进制加载程序 : 1.分开链接的ELF模块。 2.分开链接的NXFLAT 模块。NXFLAT一个是可以在文件系统中芯片内执行的二进制格式。 PATH环境变量的支持。 通过TFTP和FTP进行文件传输(get和put方法),HTML(wget),Zmodem(sz,rz)。 英特尔十六进制转换。 设备驱动程序 VFS支持字符和块设备驱动程序。 异步输入/输出(AIO)。 网络,USB(主机),USB(设备)、串口、I2C、i2,NAND,CAN,ADC、DAC、PWM、正交编码器(Quadrature Encoder),通用定时器和看门狗定时器驱动架构。 RAMDISK,管道(PIPE)、FIFO、/ dev / null,/dev/zero /dev/random和回环设备驱动。 基于SPI总线的 MMC / SD / SDH卡的通用驱动程序。 电源管理 子系统。 ModBus协议通过内建的1.5.0版本的 FreeModBus 来支持。 图形设备:帧缓存驱动,图形和段式LCD驱动程序 音频子系统:编解码器、音频输入和输出驱动程序。 命令行和图形化的媒体播放器应用程序。 Crytopgraphic子系统。 输入设备:触摸屏、USB键盘、USB鼠标,模拟/数字的摇杆、基于GPIO接口的按钮和键盘。 内存技术设备 模拟设备:支持模拟数字转换(ADC),数模转换(DAC)、多路复用器和放大器。 系统日志记录设备。 C / C++库 标准C库已经完全集成进了操作系统。 通过一个标准的数学库来支持浮点运算。 附加的 uClibc + + 模块组件提供标准c++库,该库支持输入输出流,字符串,STL,RTTI,异常等等。(LGPL)。 Libc++中的构架编译器(LLVM)相关的最新接口也可以使用(c++11标准)。

网络 支持多网络接口; 支持多网络链路层。 IPv4,IPv6、TCP / IP、UDP、ARP、ICMP、ICMPv6,IGMPv2(客户端)堆栈。 用户空间栈 流、数据报和原始数据包的套接字 支持原始套接字和本地,Unix域套接字 DNS域名解析/ NetDB IEEE 802.11 完全的物理访问控制子层 IEEE 802.15.4 MAC + 6 lowpan协议栈服务 串行线路接口协议(SLIP),TUN / PPP,本地回环设备 一个cJSON端口 占用空间小。 BSD层套接字兼容。 网络实用程序(DHCP服务器和客户端,SMTP客户端,TELNET客户机,FTP服务器和客户端,TFTP客户机,HTTP服务器和客户端,PPPD,NTP客户端)。 可继承的TELNET会话(类似于“控制终端”)。 VNC服务器。 ICMPv6自主自动配置。 NFS客户端。 客户端支持网络文件系统(NFS 第三版,UDP)。 Jeff Poskanzer 的THTTPD HTTP服务器基于nuttx被移植并且与NXFLAT一起被集成用以提供嵌入式公共网关接口(CGI)。 物理层链接状态管理。 UDP广播网络发现。 XML RPC服务器。 支持网络模块(如TI CC3000 WLAN模块)。 闪存支持 先进的接口用于内存技术接口设备。 NAND闪存的支持。 FTL:在闪存文件系统上支持简单的闪存转换层。 NXFFS。 NuttX具有磨损平衡特性的闪存文件系统。 支持基于SPI的闪存设备。、 USB支持 USB主机支持 USB主机架构包含USB主机控制器驱动程序和设备相关的USB类驱动程序。 USB主机控制器驱动程序在Atmel SAMA5Dx,NXP LPC17xx,LPC31xx,意法半导体STM32等控制器上可用。 USB大容量存储类,CDC / ACM,HID接口的键盘/鼠标,Xbox游戏控制器等设备相关usb类驱动可用。 无缝支持USB集线器。 USB设备支持 类似于GADGET 式架构的USB设备控制器驱动程序和依赖设备的USB类驱动程序。 USB设备控制器驱动程序在PIC32,Atmel AVR,SAM3,SAM4,SAMA5Dx,NXP LPC17xx,LPC214x,LPC313x,LPC43xx,芯科科技EFM32,意法半导STM32 F1,F2,F3,F4,德州仪器 DM320等芯片上可用。 USB大容量存储类,CDC / ACM串口,PL2303仿真等设备相关的USB类驱动程序可用。 内置用于USB调试的 USB跟踪 功能。 图形支持 帧缓冲驱动。 基于并行和SPI接口的LCD,OLED等设备的图形液晶驱动程序支持。 段式LCD驱动程序 虚拟网络控制台(VNC)服务器

NX图形子系统 :一个可以工作在帧缓存或者LCD驱动的图形库,库中包含窗口系统和字体支持. NuttX小部件 :集成在NX图形系统中的一个用保守C++(使用基本的c++特性)写的图形用户接口。 NuttX窗口管理器 :一个基于 NX图形子系统 和 NuttX小部件 的简洁的窗口管理器。 附加组件 NuttShell 用于NuttX的一个小的灵活的、类似于bash shell的包含丰富的功能集并且空间占用小的shell程序。 

Pascal语言运行环境 Pascal组件已经可用,可以在bitbucket.org网站上下载。

应用程序包 应用程序包严格意义上来说并不是NuttX的一的部分但是仍与NuttX保存在同一个GIT仓库中但是与NuttX作为一个分开的版本包发布。应用程序包包含NuttX应用程序的集合(包括NuttShell),网络工具,测试工具和例子,程序原型,和NSH的扩展命令等等。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3