CMSIS-RTOS它是一種作業系統軟體設計架構, 藉由CMSIS RTOS的架構可以用來隠藏底層不同作業系統的差異性。上層應用程式要想利用到OS提供的功能時, CMSIS RTOS 提供一個標準的API供上層來呼叫使用,這個API就如同Linux System call概念一樣。(The CMSIS-RTOS API is a generic RTOS interface for ARM® Cortex®-M processor-based devices)
CMSIS-RTOS 的API界面提作為底層 Real Time kernel (RTOS)與上層應用程式的一個標準介面,並使用一套標準的API, 如此可以讓上層程式不用管底層RTOS的差異, 如此程式碼可以跑在不用RTOS上, 也縮短學習新的RTOS的曲線。
不同RTOS都各自實現自己關於多工處理,例如排程、記憶體管理等功能,但希望有中介層界面存在,使用RTOS API 不必再管底層RTOS是那一套,所有函式呼叫都相同。而CMSIS-RTOS 正是一種基於 ARM® Cortex®-M processor-based 的RTOS中介層界面。
OS API 通常會提供下列功能以供使用
- Task Scheduling
Task State、Task Priority、 preemptive scheduling - Timer Tick
task delay , software timer - Memory Management - Dynamic memory allocation
- Interrupt Handler
- Task Synchronization
Semaphore、Mutex、Condition flag - Inter Task communication
Mailbox、MessageQueue
Keil RTX 即時作業系統(RTOS)使用的就是CMSIS-RTOS 的界面。
沒有留言 :
張貼留言