MDK-ARM 建立STM32工程模版

以STM32F407为例建立工程模版。

工程模版的目的:创建一个基本文件夹包含STM32F407所需的Library和启动文件。

第一步:

新建一个目录命名为Template,我的路径为:F:\Template。

第二步:

在Template目录下新建下列子目录:

F:\Template\Project:用于存放uVision Project的相关文件;

F:\Template\Libraries:用于存放CMSIS库,从ARM官网提供的stm32f4_dsp_stdperiph_lib固件库获取;由于项目需要使用数字信号处理函数,所以需添加CORE、DRIVER和DSP三个库。

F:\Template\User:用于存放用户程序包括中断配置、时钟配置和主函数等,ARM为了用户方便使用已经将中断配置替我们写好,我们只要在其基础上按需求修改即可;

第三步:

新建uVision Project工程选择放在该目录下;

第四步:

配置CMSIS目录。

CMSIS Structure:

MDK-ARM 建立STM32工程模版

CMSIS-CORE:API for the Cortex-M processor core and peripherals. It provides at standardized interface for Cortex-M0, Cortex-M3, Cortex-M4, SC000, and SC300. Included are also SIMD intrinsic functions for Cortex-M4 SIMD instructions。

MDK-ARM 建立STM32工程模版

CMSIS-Driver:defines generic peripheral driver interfaces for middleware making it reusable across supported devices. The API is RTOS independent and connects microcontroller peripherals with middleware that implements for example communication stacks, file systems, or graphic user interfaces。

MDK-ARM 建立STM32工程模版

CMSIS-DSP:

CMSIS-CORE文件有:stm32f4xx.h、system_stm32f4xx.h、system_stm32f4xx.c和startup_stm32f4xx.s(对于STM32F407为startup_stm32f40_41xx.s),同时还有些针对数字信号处理的内核调用函数如各文件core_cm4等也该添加至该目录。外设的CMSIS CORE文件的作用如下表所示:

MDK-ARM 建立STM32工程模版

第四步:建立User相关文件,ARM为我们提供了相关的User常用文件甚至是main文件的模版,我们将下列文件添加至User目下

MDK-ARM 建立STM32工程模版 

ARM基于库函数开发的程序构架以及文件关系图如下图所示:

MDK-ARM 建立STM32工程模版

MDK-ARM 建立STM32工程模版