cmsis 到底是什麼?
先來看看arm公司對cmsis的定義:
arm® cortex™ 微控制器軟體介面標準 (cmsis) 是 cortex-m 處理器系列的與**商無關的硬體抽象層。cmsis 可實現與處理器和外設之間的一致且簡單的軟體介面,從而簡化軟體的重用,縮短微控制器開發人員新手的學習過程,並縮短新裝置的上市時間。
軟體的建立是嵌入式產品行業的乙個主要成本因素。通過跨所有 cortex-m 晶元**商產品將軟體介面標準化(尤其是在建立新專案或將現有軟體遷移到新裝置時),可以大大降低成本。
我們知道,不同廠家,比如fsl,st,energy micro等不同廠家的核心都是使用cortex m,但是這些mcu的外設卻大相徑庭,外設的設計、介面、暫存器等都不一樣,因此,乙個能夠非常熟練使用stm32軟體程式設計的工程師很難快速地上手開發一款他不熟悉的,儘管是cortex m核心的晶元。而cmsis的目的是讓不同廠家的cortex m的mcu至少在核心層次上能夠做到一定的一致性,提高軟體移植的效率。
1. cmsis的結構:
cmsis 包含以下元件:
cmsis-core:提供與 cortex-m0、cortex-m3、cortex-m4、sc000 和 sc300 處理器與外圍暫存器之間的介面
cmsis-dsp:包含以定點(分數 q7、q15、q31)和單精度浮點(32 位)實現的 60 多種函式的 dsp 庫
cmsis-rtos api:用於執行緒控制、資源和時間管理的實時作業系統的標準化程式設計介面
cmsis-svd:包含完整微控制器系統(包括外設)的程式設計師檢視的系統檢視描述 xml 檔案
此標準可進行全面擴充套件,以確保適用於所有 cortex-m 處理器系列微控制器。其中包括所有裝置:從最小的 8 kb 裝置,直至帶有精密通訊外設(例如乙太網或 usb)的裝置。(核心外設功能的記憶體要求小於 1 kb **,低於 10 位元組 ram)。
2. 框架
看上去cmsis-core和cmsis-dsp很好理解,但是cmsis-rtos不好理解,這玩意是幹嘛的?
再看一張圖吧:
看了這張圖的含義更清楚些,cmsis-rtos在使用者的應用**和第三方的rtos kernel直接架起一道橋梁,乙個設計在不同的rtos之間移植,或者在不同cortex mcu直接移植的時候,如果兩個rtos都實現了cmsis-rtos,那麼使用者的應用程式**完全可以不做修改。
3. 已經支援的mcu和工具鏈:
CMSIS 到底是什麼
cmsis 到底是什麼?先來看看arm公司對cmsis的定義 arm cortex 微控制器軟體介面標準 cmsis 是 cortex m 處理器系列的與 商無關的硬體抽象層。cmsis 可實現與處理器和外設之間的一致且簡單的軟體介面,從而簡化軟體的重用,縮短微控制器開發人員新手的學習過程,並縮短新...
敏捷到底是什麼?
文 ivar jacobson 在支援軟體工程 比如rational統一過程rup 與敏捷陣營 比如scrum或是xp 之間,人們一直存在著衝突。也不難理解,因為這兩種方法間都是在用著彼此並不相容的方式來描述的。其實大可不必,因為他們背後的觀點全然是相輔相成的。關鍵在於該如何用對兩者來說都公平的方式...
我們到底是什麼?
我們到底是什麼?我們是一種生物電流 生物電流有幾種狀態,喜怒哀樂等,可以根據外部環境進行自我切換 該種生物電流附屬在一種器官硬體上面 我們可以從器官硬體上感知一些資訊,產生新的資訊生物電流,新產生的生物電流符合原先的標準 我們可以把資訊電流儲存在器官硬體上,但具體如何儲存等資訊無法被我們感知 我們的...