1. 程式人生 > >【2015-1-14】STM32學習之CMSIS 標準

【2015-1-14】STM32學習之CMSIS 標準

由ST 公司生產的STM32 採用的是Cortex-M3 核心,核心是整個微控制器的CPU。該核心是ARM 公司設計的一個處理器體系架構,ARM 公司並不生產晶片,而是出售其晶片技術授權。

ST 公司或其他晶片生產廠商如TI,負責設計的是在核心之外的部件,被稱為核外外設或片上外設、裝置外設。如晶片內部的模數轉換外設ADC、串列埠UART、定時器TIM 等。

核心與外設,類似PC 上的CPU 與主機板、記憶體、顯示卡、硬碟的關係。


因為基於Cortex 的某系列晶片採用的核心都是相同的,區別主要為核外的片上外設的差異,這些差異卻導致軟體在同核心、不同外設的晶片上移植困難。為了解決不同晶片廠商生產的Cortex 微控制器軟體的相容性問題, ARM 與晶片廠商建立了CMSIS 標準(Cortex Microcontroller Software Interface Standard)。

所謂CMSIS 標準,實際是新建了一個軟體抽象層


CMSIS 標準中最主要的是CMSIS 核心層,它包括:

核心函式層:其中包含用於訪問核心暫存器的名稱、地址定義,主要由ARM 公司提供。

裝置外設訪問層:提供了片上的核外外設的地址和中斷定義,主要由晶片生產商提供。可見CMSIS 層位於硬體層與作業系統或使用者層之間,提供了與晶片生產商無關的硬體抽象層,可以為介面外設、實時作業系統提供簡單的處理器軟體介面,遮蔽了硬體差異,這對軟體的移植有極大的好處。STM32 韌體庫就是按照CMSIS 標準建立的。