CMSIS定義了硬件MCU的標准軟件接口,我們在不同的CORTEX MCU之間移植程序時,可以非常方便。2012年,ARM在最新的CMSIS V3中居然加入了軟件層面的RTOS接口,試圖將所有的RTOS都納入支持范圍,雖然目前可以看到的實現僅僅有自家的RTX和mbed,但還是值得嘗試。因為我們現在使用了不同種類的CORTEX M0/M3,且都有使用RTX操作系統,現在有點空閑時間,用了一個下午的時間,把一個小項目中的RTX接口調用全部替換成了CMSIS RTOS接口(RTX)調用,初步測試,居然順利的跑起來了,呵呵,運氣不錯。
看了CMSIS RTOS的接口文檔,有些地方還是沒有RTX原來的接口豐富,比如原來的接口有isr_xxx函數和os_xxx函數之分,前者用在中斷函數里面,后者用在TASK里面,而在CMSIS接口中,全部是osXXX的樣式,通過強行設置timeout=0來在ISR中使用,雖然形式上不同,但功能上基本是等價的。
這個東西還是值得,以后若變更底層的操作系統,則會非常方便。