CMSIS:Cortex Microcontroller Software Interface Standard,Cortex微控制器軟件接口標(biāo)準(zhǔn)。它包含的內(nèi)容比較多:
CMSIS-RTOS:主要用于RTOS的API,可與中間件和庫組件實(shí)現(xiàn)一致的軟件層。
CMSIS-DSP:Arm針對各種Cortex-M處理器內(nèi)核進(jìn)行了優(yōu)化的豐富DSP功能的集合。
CMSIS-Driver:接口可用于許多微控制器系列。
CMSIS-Pack:定義了包含軟件組件的軟件包。
CMSIS-SVD:可通過當(dāng)前寄存器狀態(tài)顯示設(shè)備外設(shè)的詳細(xì)視圖。
CMSIS-DAP:Cortex調(diào)試訪問端口(DAP)的標(biāo)準(zhǔn)化接口。
CMSIS-NN:高效的神經(jīng)網(wǎng)絡(luò)內(nèi)核的集合。
我們在使用STM32CubeMX配置FreeRTOS時有一個CMSIS_V1和CMSIS_V2的選項(xiàng),你知道CMSIS_V1和CMSIS_V2區(qū)別是什么?
下面我們就來簡單分享一下關(guān)于CMSIS-RTOS的內(nèi)容。
CMSIS的簡介
Cortex微控制器軟件接口標(biāo)準(zhǔn)(Cortex Microcontroller Software Interface Standard)是ARM和一些編譯器廠家以及半導(dǎo)體廠家共同遵循的一套標(biāo)準(zhǔn),是由ARM專門針對CORTEX-M系列提出的標(biāo)準(zhǔn)。
在該標(biāo)準(zhǔn)的約定下,ARM和芯片廠商會提供一些通用的API接口來訪問Cortex內(nèi)核以及一些專用外設(shè),以減少更換芯片以及開發(fā)工具等移植工作所帶來的金錢以及時間上的消耗。
只要都是基于Cortex的芯片,代碼均是可以復(fù)用的。CMSIS是 Cortex-M 處理器系列的與供應(yīng)商無關(guān)的硬件抽象層。使用 CMSIS可以為處理器和外設(shè)實(shí)現(xiàn)一致且簡單的軟件接口,從而簡化軟件的重用、縮短微控制器新開發(fā)人員的學(xué)習(xí)過程,并縮短新設(shè)備的上市時間。
CMSIS主要內(nèi)容就如之前分享的Cortex-M內(nèi)容:CMSIS-RTOS:主要用于RTOS的API,可與中間件和庫組件實(shí)現(xiàn)一致的軟件層。
CMSIS-DSP:Arm針對各種Cortex-M處理器內(nèi)核進(jìn)行了優(yōu)化的豐富DSP功能的集合。
CMSIS-Driver:接口可用于許多微控制器系列。
CMSIS-Pack:定義了包含軟件組件的軟件包。
CMSIS-SVD:可通過當(dāng)前寄存器狀態(tài)顯示設(shè)備外設(shè)的詳細(xì)視圖。
CMSIS-DAP:Cortex調(diào)試訪問端口(DAP)的標(biāo)準(zhǔn)化接口。
CMSIS-NN:高效的神經(jīng)網(wǎng)絡(luò)內(nèi)核的集合。
更多相關(guān)介紹可以參看文章:Cortex-M軟件接口標(biāo)準(zhǔn)CMSIS
CMSIS-RTOS是干么的?
眾所周知,實(shí)時操作系統(tǒng)是嵌入式領(lǐng)域的基石,而可選的嵌入式操作系統(tǒng)有很多,如FreeRTOS、μCOS、RT-Thread、RTX、ThreadX、uLinux等。
CMSIS-RTOS是ARM公司為統(tǒng)一操作系統(tǒng)、降低嵌入式門檻而發(fā)布的操作系統(tǒng)標(biāo)準(zhǔn)軟件接口。通俗講,CMSIS-RTOS將操作系統(tǒng)(不管是FreeRTOS還是RTX等)屏蔽起來,然后提供CMSIS-RTOS接口函數(shù)給最終使用者調(diào)用。
如此以來,最終使用者只需要學(xué)習(xí)CMSIS-ROTS即可,從而降低學(xué)習(xí)門檻。(目前FreeRTOS和RTX能夠很好的支持CMSIS-RTOS,其他有些RTOS還沒有做適配)。
CMSIS-RTOS 是實(shí)時操作系統(tǒng)的通用 API。它提供了標(biāo)準(zhǔn)化的編程接口,它只是封裝了RTX/Embos,以后還可能封裝μCOS、ThreadX等第三方RTOS。
就如開篇所說的,在STM32CubeMX配置FreeRTOS有一個CMSIS_V1和CMSIS_V2的選項(xiàng):
同時,CMSIS-ROTS也對Keil的RTX作了很好的支持,如果你安裝了Keil MDK,在CMSIS目錄下,你會發(fā)現(xiàn)RTX的源碼:
這里順便說一下:RTX與μCOS、ThreadX等這些RTOS一樣,同樣免費(fèi)開源(源碼在CMSIS目錄下,可以自己查看),遵循Apache2.0開源協(xié)議。
補(bǔ)充
CMSIS RTOS是ARM現(xiàn)在熱推的物聯(lián)網(wǎng)操作系統(tǒng)mbedOS的基礎(chǔ),搞懂這個RTOS API,更有利于從事RTOS底層、IC底層軟件開發(fā)。
可移植到很多,RTOS,使軟件模板、中間件、庫及其它組件能工作于支持的 RTOS 系統(tǒng)(ST就針對FreeRTOS做了CMSIS-RTOS底層支持,所以,你會看到STM32CubeMX有CMSIS_V1和CMSIS_V2的選項(xiàng))。
審核編輯:湯梓紅
-
微控制器
+關(guān)注
關(guān)注
48文章
7917瀏覽量
153758 -
處理器
+關(guān)注
關(guān)注
68文章
19814瀏覽量
233653 -
Cortex
+關(guān)注
關(guān)注
2文章
203瀏覽量
47163 -
CMSIS
+關(guān)注
關(guān)注
0文章
41瀏覽量
12230 -
RTOS
+關(guān)注
關(guān)注
24文章
842瀏覽量
120801
原文標(biāo)題:CMSIS-RTOS是什么?
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
FTP SERVER不能正常啟動的原因?
CMSIS-RTOS V1與V2的區(qū)別是什么?
stm32cubemx 5.1.0版本生成的開啟mpu的IAR工程編譯報錯的原因?
請問CMSIS-RTOS怎么調(diào)試?
【安富萊】RTX嵌入式操作系統(tǒng)教程發(fā)布,支持M3和M4系列,含54個配套例程
FreeRTOS按耐不住,也加入MDK軟件包大陣營
STM32CubeIDE+FREERTOS的相關(guān)資料下載
基于CUBEMX H750移植RTX5分析
如何為stm32f217xx控制器啟動rtos編程?
請問osThreadSuspendAll() 的CMSIS-RTOS v2替代品是什么?
如何在RTX中使用ADC、 GPIO和USB鼠標(biāo)
如何通過多任務(wù)訪問Keil RTX程序EEPROM
將RTX遷移到CMSIS-RTOS
如何理解CMSIS-RTOS API和宏定義

評論