物聯網相關嵌入式操作系統
實時系統(Real-time operating system,RTOS)的正確性不僅依賴系統計算的邏輯結果,還依賴于產生這個結果的時間。實時系統能夠在指定或者確定的時間內完成系統功能和外部或內 部、同步或異步時間做出響應的系統。因此實時系統應該在事先先定義的時間范圍內識別和處理離散事件的能力;系統能夠處理和儲存控制系統所需要的大量數據。
Contiki
相關支持: CoAP
,TCP/IP 網絡支持
,RPL 路由
,6Lowpan 報文壓縮
,Rime 無線協議棧
Contiki 是一個適用于有內存的嵌入式系統的開源的、高可移植的、支持網絡的多任務操作系統。包括一個多任務核心、TCP/IP 堆棧、程序集以及低能耗的無線通訊堆棧。Contiki 采用 C 語言開發的非常小型的嵌入式操作系統,運行只需要幾K的內存。
Contiki 是一個小型的,開源的,極易移植的多任務電腦操作系統。它專門設計以適用于一系列的內存受限的網絡系統,包括從 8 位電腦到微型控制器的嵌入系統。它的名字來自于托爾·海爾達爾的康提基號。
Contiki 只需幾 kilobyte 的代碼和幾百字節的內存就能提供多任務環境和內建 TCP/IP 支持。
LwIP
LwIP 是 Light Weight (輕型) IP 協議,有無操作系統的支持都可以運行。LwIP 實現的重點是在保持 TCP 協議主要功能的基礎上減少對 RAM 的占用,它只需十幾 KB 的 RAM 和 40K 左右的 ROM 就可以運行,這使 LwIP 協議棧適合在低端的嵌入式系統中使用。
lwIP 協議棧主要關注的是怎么樣減少內存的使用和代碼的大小,這樣就可以讓 lwIP 適用于資源有限的小型平臺例如嵌入式系統。為了簡化處理過程和內存要求,lwIP 對 API 進行了裁減,可以不需要復制一些數據。
FREERTOS
FreeRTOS 是一個迷你操作系統內核的小型嵌入式系統。作為一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統的需要。
由于 RTOS 需占用一定的系統資源(尤其是 RAM 資源),只有μC/OS-II、embOS、salvo、FreeRTOS 等少數實時操作系統能在小 RAM 單片機上運行。相對μC/OS-II、embOS 等商業操作系統,FreeRTOS 操作系統是完全免費的操作系統,具有源碼公開、可移植、可裁減、調度策略靈活的特點,可以方便地移植到各種單片機上運行,其最新版本為 8.0.0 版。
mbed OS
相關支持: BLE
,Celluar
,WIFI
,Zigbee
,6LoWPAN
一款基于 ARM Cortex-M 處理器的設備所設計的免費操作系統,配有安全、通訊和設備管理模塊,支持低功率智能藍牙標準、2G、3G 與 CDMA 通信技術、Thread、Wi-Fi、802.15.4/6LoWPAN、TLS/DTLS、CoAP、HTTP、MQTT 以及輕量級的 M2M。而只需 32-64kbRAM 和 256 kb 閃存的配置,適合在小設備上運行。
mbed? OS is an operating system for IoT devices and is especially well-suited to run in energy constrained environments. The OS includes the connectivity, security and device management functionalities required in every IoT device.
- Connectivity protocol stack support for Bluetooth? low energy, Cellular, Ethernet, Thread, Wi-fi?, Zigbee IP, Zigbee NAN, 6LoWPAN
- Automation of power management
- Software asset protection and secure firmware updates for device security & management
- Supports a wide range of ARM Cortex-M based hardware platforms from major MCU vendors
- Support for OMA Lightweight M2M protocol for device management
- Updatable and secure devices at the edge capable of additional processing and functionality
- Banking-class end-to-end IP security across the communication channels through TLS & DTLS
- Future proof designs by supporting all the key open standards for connectivity and device management
emOS
embOS 是一個優先級控制的多任務系統,是專門為各種微控制器應用于實時系統應用的嵌入式操作系統.是一個具有最小 RAM 和 ROM 占用的、高速的、多功能的高性能工具。
貫穿 embOS 的整個開發過程,微控制器有限的資源一直是開發者所顧忌的。五年來,該 RTOS 的內部結構已經被優化為不同客戶的不同應用中,以滿足工業需要。對不同微控制器的完全源碼,使開發者很方便用實時操作系統構建實時程序。embOS 是高度模塊化的,只有需要的函數才被調用,占用的 ROM 非常小。 最小的內存占用:1kb ROM,30 字節 RAM;由于提供源碼文件,你可以用 embOS 靈活定制系統以滿足實際需求。 任務之間可以通過旗語、郵箱和事件安全便利地通訊。
Salvo
Salvo? is the first Real-Time Operating System (RTOS) designed expressly for very-low-cost embedded systems with severely limited program and data memory. With Salvo, you can quickly create low-cost, smart and sophisticated embedded products. Pumpkin? has currently certified Salvo for use with:
- 8051 family and its derivatives
- ARM? ARM7TDMI? and Cortex?-M3
- Atmel? AVR? and MegaAVR?
- Epson S1C17 family
- Motorola M68HC11
- TI's MSP430 Ultra-Low Power Microcontroller
- Microchip PIC1214000161718 PICmicro? MCUs
- Microchip PIC24 MCUs and dsPIC? DSCs
- Microchip PIC32? MCUs
- TI's TMS320C2000 DSPs
μC/OS-II
uC/OS II (Micro Control Operation System Two) 是一個可以基于 ROM 運行的、可裁減的、搶占式、實時多任務內核,具有高度可移植性,特別適合于微處理器和控制器,是和很多商業操作系統性能相當的實時操作系統(RTOS)。
為了提供最好的移植性能,uC/OS II 最大程度上使用 ANSI C 語言進行開發,并且已經移植到近 40 多種處理器體系上,涵蓋了從 8 位到 64 位各種 CPU (包括 DSP)。 uC/OS II 可以簡單的視為一個多任務調度器,在這個任務調度器之上完善并添加了和多任務操作系統相關的系統服務,如信號量、郵箱等。其主要特點有公開源代碼,代碼結 構清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內核屬于搶占式,最多可以管理 60 個任務。從 1992 年開始,由于高度可靠性、移植性和安全性,uC/OS II 已經廣泛使用在從照相機到航空電子產品的各種應用中。
TinyOS
協議支持: CoAP
TinyOS 是 UC Berkeley(加州大學伯克利分校)開發的開放源代碼操作系統,專為嵌入式無線傳感網絡設計,操作系統基于構件(component-based)的架構使得快速的更新成為可能,而這又減小了受傳感網絡存儲器限制的代碼長度。
TinyOS 的構件包括網絡協議、分布式服務器、傳感器驅動及數據識別工具。其良好的電源管理源于事件驅動執行模型,該模型也允許時序安排具有靈活性。TinyOS 已被應用于多個平臺和感應板中。
支持硬件
- Atmel ATmega128, a 8-bit RISC microcontroller.
- Texas Instruments MSP430 a 16-bit low power microcontroller.
- Intel XScale PXA271 a 32-bit RISC microcontroller.
MQX
Freescale MQX? RTOS a full-featured complimentary real-time operating system including the MQX? Kernel, TCP/IP stack (RTCS), embedded MS-DOS file system (MFS), USB host/device stack, and more. The MQX? multitasking kernel provides pre-emptive scheduling, fast interrupt response, extensive inter-process communication and synchronization facilities. MQX RTOS includes its own peripheral drivers.
QNX
QNX 是由加拿大 QSSL 公司(QNX Software System Ltd.)開發的分布式實時操作系統。該操作系統既能運行于以 Intel X86、Pentium 等 CPU 為核心硬件環境下,也能運行于以 PowerPC、MIPS 等 CPU 為核心的硬件環境。QNX 操作系統符合 POSIX 基本標準和實時標準,使其應用可以方便的進行移植。
openWRT
OpenWrt 可以被描述為一個嵌入式的 Linux 發行版,(主流路由器固件有 dd-wrt,tomato,openwrt 三類)而不是試圖建立一個單一的、靜態的系統。OpenWrt 的包管理提供了一個完全可寫的文件系統,從應用程序供應商提供的選擇和配置,并允許您自定義的設備,以適應任何應用程序。
對于開發人員,OpenWrt 是使用框架來構建應用程序,而無需建立一個完整的固件來支持;對于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設備。
RIOT
項目首頁: http://riot-os.org/ 平臺: MSP430
, ARM7
, Cortex-M0
, Cortex-M3
,Cortex-M4
,x86
RIOT 自稱為“友好的物聯網操作系統”。RIOT 是 FeuerWhere 項目的分支,首次亮相在 2013 年。它的目的是既開發者友好又資源友好。它支持多種架構,包括 MSP430、ARM7、Cortex-M0、Cortex-M3、Cortex-M4 和標準的 x86 電腦。
- Arduino Due
- UDOO Board (Cortex-M3 part)
- Nordic nrf51822 (DevKit)
- mbed NXP LPC1768
- TelosB
- Zolertia Z1
- Texas Instruments EZ430-Chronos
- STM32F4DISCOVERY
- STM32F3DISCOVERY
- STM32F0DISCOVERY
- WSN 430 (v1.3b and v1.4)
- HiKoB FOX
- ScatterWeb MSB-A2
- ScatterWeb MSB-430H
<span id="shareA4" class="fl">
</span> </div>