Keil MDK5软件包的组成、Cortex微控制器软件接口标准CMSIS,重点介绍CMSIS-CORE的组成和使用
嵌入式系統的應用開發需要基于目標機-宿主機的交叉編譯系統,在集成開發環境的支持下進行,應用程序通常采用高級編程語言C/C++進行編寫。使用MDK開發工具進行STM32微控制器的應用開發需要安裝軟件包,軟件包包括設備驅動程序庫STM32F1XXX_DFP.XXX.pack(對于Keil MDK5而言是根據開發設備的不同選擇性安裝,MDK4之前的版本都是默認全部安裝)、Cortex微控制器軟件接口標準CMSIS庫(默認安裝)、中間件Middleware(默認安裝)以及代碼模板、示例等,如下圖所示。
圖 MDK軟件包
Cortex微控制器軟件接口標準CMSIS
CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司為統一軟件結構而為Cortex微控制器制定的軟件接口標準。CMSIS為處理器和外設提供了一致且簡單的軟件接口,方便軟件開發,易于軟件重用,縮短了開發人員的學習過程和應用項目的開發進程。目前,很多針對Cortex-M微控制器的軟件產品都是CMSIS兼容的。
CMSIS始于為Cortex-M微控制器建立統一的設備驅動程序庫,即其核心組件CMSIS-CORE。之后,添加了其他CMSIS組件,如CMSIS-RTOS,CMSIS-DSP等。
CMSIS-CORE:為Cortex-M處理器核和外設定義應用程序接口API(Application Programming Interface),也包括一致的系統啟動代碼。
CMSIS-RTOS:提供標準化的實時操作系統RTOS(Real-Time Operating System),以便軟件模板、中間件、程序庫和其他組件能夠獲得RTOS支持。
CMSIS-DSP:為數字信號處理DSP(Digital Signal Processing)實現的函數庫,包含各種定點和單精度浮點數據類型,超過60個函數。
(1)CMSIS-CORE的組成
CMSIS提供了一個與供應商無關的、基于Cortex-M處理器的硬件抽象層,如下圖所示。
圖 基于CMSIS-CORE的開發結構
從軟件開發角度看,CMSIS-CORE進行了一系列標準化工作:標準化處理器外設定義、標準化處理器特性的訪問函數、標準化系統異常處理程序的函數名等。用戶的應用程序既可以通過CMSIS層提供的函數(包括設備廠商提供的外設驅動程序)訪問微控制器硬件,也可以利用CMSIS的標準化定義直接對外設編程,控制底層的設備。如果移植了實時操作系統,用戶應用程序也可以調用操作系統函數。
(2)CMSIS-CORE的使用
CMSIS文件包含在微控制器廠商提供的設備驅動程序包中,當使用CMSIS兼容的設備驅動程序庫時,實際上已經使用了CMSIS。具體來說,在MDK V5開發平臺下,用戶應用程序需要如下的文件:
1、Startup_<device>.s——設備啟動代碼,包括復位處理程序和異常向量。
2、System_<device>.c——設備的基本配置文件,包括時鐘和總線的配置。
3、<device>.h用戶代碼需要的包含文件,用于訪問設備。
在創建項目時,在運行庫管理中選擇CMSIS-COER(CMSIS:CORE)和設備的啟動代碼(Device:Startup),這兩個是開發應用程序時必須的2個組件。當處理器是STM32F10X時,啟動代碼為startup_stm32f10x_hd.s、時鐘和總線配置文件為system_stm32f10x.c以及應用程序中需要包含的頭文件stm32f10x.h。
總結
以上是生活随笔為你收集整理的Keil MDK5软件包的组成、Cortex微控制器软件接口标准CMSIS,重点介绍CMSIS-CORE的组成和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 串行器 MAX96717F 芯片介绍
- 下一篇: Http压测工具wrk使用指南 - 程序