NuttX 介紹

來源:互聯網
上載者:User

(嵌入式 即時作業系統 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  關鍵特徵

  • 標準相容
  • 核心任務管理
  • 模組化設計
  • 完全可搶佔
  • 天然可擴充
  • 高度可配置
  • 圖形化組態工具
  • 容易擴充到新的處理器架構、 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
  • M68HCS12
  • Freescale 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 80x52
  • Intel 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 SuperH
  • Renesas 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 Z16F
  • ZiLOG eZ80 Acclaim!
  • ZiLOG Z8Encore!
  • ZiLOG Z180
  • ZiLOG 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-ek
lm3s8962-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
p112
pcblogic-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_generic
stm32f3discovery
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檔案系統支援
  • NFS用戶端:用戶端側支援網路檔案系統(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 的按鈕和鍵盤
  • 類比裝置:支援類比到數字轉換(ADC)、數字到類比轉換(DAC)、多工器和放大器
7  C/C++ 庫
  • 完全整合在 OS 內的標準 C 庫
  • 通過一個標準數學庫提供浮點支援
  • 外掛程式 uClibc++ 模組提供標準 C++ 庫,支援 io 流、 字串、 STL、 RTTI、異常等(LGPL)
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 模組)
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  圖形支援
  • 幀緩衝驅動
  • 並行連接埠和 SPI 連接埠的 LCD 和OLED 的圖形 LCD 驅動
  • 段式 LCD 驅動
  • NX Graphics 子系統:一個圖形庫、視窗化系統和字型支援,工作於幀緩衝或 LCD 驅動
  • NuttX Widgets:用保守的 C++ 編寫的圖形化使用者介面,整合於 NX Graphics
  • NuttX 視窗管理器:一個微型視窗管理器,基於 NX Graphics 子系統和 NuttX Widgets
12  外掛程式12.1  NuttShell
  • 一個用於 NuttX 的、小型的、可擴充的、類 bash 的 shell,具有豐富的特徵集和小型封裝。
12.2  Pascal 運行時
  • Pascal 外掛程式可以從 SourceForge 網站下載。
13  開發環境
  • Linux + GNU make + GCC/binutils for Linux
  • Linux + GNU make + SDCC for Linux
  • Windows 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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.