ChibiOS/RT
ChibiOS/RT是一個小且快的實時作業系統。[1] 它支持多種架構,並且以GPLv3釋出。它的開發者是Giovanni Di Sirio。
程式語言 | C, 彙編語言 |
---|---|
作業系統家族 | 實時作業系統 |
運作狀態 | 穩定 |
源碼模式 | 開放原始碼 |
最新版本 | 18.2.1(2018年5月1日 | )
支援平台 | Intel 80386, ARM7, ARM9, ARM Cortex-M0, ARM Cortex-M3, ARM Cortex-M4, Power Architecture, e200z, Atmel AVR, TI MSP430, STM8, Freescale Coldfire, Renesas H8S |
內核類別 | Microkernel |
許可證 | GPL3 or 私有授權 |
官方網站 | www.chibios.org 官方網站 |
簡介
編輯ChibiOS/RT是為8,16和32位微控制器設計的;其內存占用和運行效率是項目自始至終著重優化的點。[2] 在STM32(Cortex-M3,72MHz)上,一個典型的ChibiOS/RT實例會占用1.2kB到5.5kB的空間。內核每秒可以創建和終止220000多個線程,而且能在1.2微秒內完成一次線程切換。隨著每一個架構移植的發布,ChibiOS的性能測試數據都會被照例公布。
功能
編輯ChibiOS/RT的小型內核支持:
- 搶占性多任務[3]
- 128個優先級
- 同優先級線程按照時間片輪轉調度
- 軟體定時器
- 計數信號量
- 支持優先級繼承的自旋鎖
- 同步和異步信息,以及消息隊列
- 事件標誌和處理函數
- 支持的同步I/O和帶超時的異步I/O
- 線程安全的堆或內存池分配器
- 支持多種底層硬體的硬體抽象層
- 支持lwIP和uIP協議棧
- 支持FatFS文件系統
所有的系統對象,比如線程、信號量等都能在運行時創建或者刪除。除了可用內存的限制之外沒有內核對象創建數量上限。為了增強可靠性,整個內核本身是靜態編譯的,並且不需要一個動態內存分配器;內核中也沒有表或者數組的上限。整個系統的API設計中不包含諸如錯誤碼或者異常一類的錯誤狀況。
ChibiOS/RT已經被一直到了Raspberry Pi[4],而且GPIO、串口、定時器、I2C、SPI和PWM的驅動都已經齊備。
ChibiOS/RT也可以作為一個Win32進程運行。此時,它使用軟體模擬I/O模式,方便在沒有硬體的情況下進行軟體開發。官方提供一個基於MinGW編譯器的例子。
uGFX
編輯µGFX完全支持ChibiOS/RT。現已完全商業化的µGFX的前身就是ChibiOS/GFX。
另請參見
編輯參考資料
編輯- ↑ RTOS performance data. emb4fun.de. (原始內容存檔於2013-01-11) (英語).
- ↑ ChibiOS/RT embedded RTOS. Open Hub (英語).
- ↑ A detailed explanation of multithreading in ChibiOS/RT. playembedded.org. 2016-10-29 [2018-09-14] (英語).
- ↑ ChibiOS/RT on the Raspberry Pi. stevebate.net. [2018-09-14] (英語).