在Keil MDK中创建STM32F4系列的工程模板(标准外设库) |
您所在的位置:网站首页 › stm32f4开发环境 › 在Keil MDK中创建STM32F4系列的工程模板(标准外设库) |
在Keil MDK中创建STM32F4系列的工程模板(标准外设库)
一、前往ST官网下载标准外设库二、根据个人风格创建文件夹目录三、创建MDK工程,创建分组四、添加系统启动必要源文件五、添加头文件路径六、定义预处理符号七、时钟配置
一、前往ST官网下载标准外设库
ST 官网地址 https://www.st.com/content/st_com/en.html
如: BSP 目录存放板级支持包 Doc 目录存放文档资料 App 目录存放用户应用代码 Library 目录存放官方标准库 Custom 目录存放自定义库文件 Thirdparty 目录存放第三方库文件 CMSIS 目录存放内核头文件 Project 目录存放工程文件 OBJ 目录存放编译中间文件 三、创建MDK工程,创建分组1)创建新的工程文件,并根据个人习惯保存在所需目录;
3)点击“管理工程项目”,根据个人风格创建组(Groups),用于对不同类型文件或不同功能的源文件进行分组管理,一般工程下每个文件夹对应一个组(Group)比较好,不容易混乱;
将源文件添加到对应的组(Group),对于STM32F4系列MCU来说,必要的源文件有三个: 1、main.c(编写我们的main函数) 2、startup_stm32f4xx.s(启动文件,用于初始化堆栈和中断向量表,根据实际所用型号选择对应的启动文件) STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm目录下存放了STMF4系列所有MCU的启动文件。 3、system_stm32f4xx.c(系统时钟配置、Flash配置及其他配置等初始化) STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates目录下存放有此文件。 设置头文件包含路径,将ST官方标准库中的两个include文件夹和一个inc文件夹路径添加进去即可(最好复制到工程目录相应的文件夹下)。 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include 这个目录下是CMSIS相关的头文件 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include 这个目录下是系统初始化相关的头文件 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\inc 这个目录下是片上外设模块相关的头文件 在C/C++选项设置中,根据实际所用型号的芯片定义对应的预处理符号,具体可参考前面下载的ST官方标准库中 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates\MDK-ARM 路径下的readme.txt文件;
需要 特别注意 的一点是——必须根据实际使用的HSE时钟源频率来定义 HSE_VALUE 宏的值,可以在stm32F4xx.h头文件中直接修改此宏的值,或者如步骤6所示直接定义一个预处理符号。 定义的预处理符号会先于所有文件中的宏生效,又因stm32F4xx.h头文件中使用了 #if !defined (HSE_VALUE) 对 HSE_VALUE 宏做了防重复定义处理,所以stm32F4xx.h中的 HSE_VALUE 宏不会生效。 要使用预处理符号的方式定义一个宏并设置一个值,请使用 宏名=值 的语法,这相当C预处理器 #define 语句 #define 宏名 值。 修改HSE_VALUE宏的值后,还要在system_stm32F4xx.c源文件中修改PLL预分频系数,该文件默认将SYSCLK系统时钟配置为最高支持的频率。 标准库文件默认外部晶振频率为25MHz,PLLM系数也默认为25,即默认主PLL输入时钟为1MHz。因此,假如我们实际的外部晶振频率为8MHz,则我们只需修改HSE_VALUE为8000000,同时修改PLLM为8即可配置SYSCLK系统时钟为最高频率了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |