嵌入式操作系統介紹之 NuttX

      網友投稿 1068 2022-05-29

      更好的排版:https://mp.weixin.qq.com/s/W5-PhZmL8aZpT4nKy14_HQ

      目錄

      1 ?NuttX 實時操作系統

      2 ?關鍵特征

      3 ?支持的平臺

      4 ?支持的板卡

      5 ?文件系統

      6 ?設備驅動

      7 ?C/C++ 庫

      8 ?網絡

      9 ?Flash 支持

      10 ?USB 支持

      11 ?圖形支持

      12 ?插件

      13 ?開發環境

      14 ?鏈接

      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

      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

      嵌入式 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:(更新時間)2021年5月12日 redis數據庫 Redis面試題
      下一篇:【樹莓派】使用NOOBS安裝樹莓派系統
      相關文章
      亚洲av福利无码无一区二区| 亚洲一卡2卡三卡4卡无卡下载| 国产精品亚洲专区在线观看| 亚洲国产精品yw在线观看| 久久亚洲国产精品五月天| 国产精品亚洲精品日韩动图| 亚洲日本VA午夜在线电影| 久久综合图区亚洲综合图区| 久久精品国产亚洲| 亚洲国产精华液2020| 亚洲乱妇熟女爽到高潮的片| 亚洲精品动漫在线| 亚洲日产2021三区在线| 亚洲国产电影在线观看| 亚洲精品美女久久久久9999| 中文字幕亚洲综合精品一区| 久久久久亚洲AV无码观看| 亚洲精品在线免费观看视频| 亚洲免费福利视频| 麻豆狠色伊人亚洲综合网站| 久久综合久久综合亚洲| 亚洲熟妇自偷自拍另欧美| 亚洲av无码专区在线电影天堂| 亚洲国产欧洲综合997久久| MM1313亚洲精品无码久久| 校园亚洲春色另类小说合集| 亚洲?v无码国产在丝袜线观看| 国产在亚洲线视频观看| 亚洲熟伦熟女新五十路熟妇| 亚洲综合AV在线在线播放| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲午夜在线播放| 亚洲一区二区三区高清在线观看 | 亚洲国产精品无码AAA片| 亚洲国产综合精品中文第一区| 亚洲精品美女视频| 亚洲综合一区无码精品| 亚洲AV成人片无码网站| 国产精品亚洲玖玖玖在线观看| 亚洲国产精品福利片在线观看|