概述
目录
- 准备工作
- 标准外设库文件解读
- 步骤
准备工作
-
STM32 标准外设库文件下载 STM32F10x_StdPeriph_Lib (STM官网)
-
安装 MDK4 或 MDK 5 (ARM官网)
下载链接请参考我写的这篇, Keil MDK4及MDK5的下载及破解 STM32F10x 标准外设库的下载.
标准外设库文件解读
文件 STM32F10x_StdPeriph_Lib 里包含CMSIS和STM32F10x_StdPeriph_Driver文件夹
/*--------CMSIS和STM32F10x_StdPeriph_Driver文件夹结构和主要文件的作用-------------*/
CMSIS(STM32内部ARM核相关内容)
CM3(Cortex-M3)
CoreSupport (内核相关的一些设置的寄存器集合及其封装)
DeviceSupport
ST
STM32F10x
startup(起始文件)
stm32f10x.h
system_stm32f10x.c
system_stm32f10x.h
STM32F10x_StdPeriph_Driver(外设驱动)
inc(include,头文件,.h)
src(source,源文件, .c)
/*-------------------------------------------------------------------------------------------*/
步骤
- 在工程模板文件夹下创建user,project,out,list以及库文件CMSIS, STM32F10x_StdPeriph_Driver这6个文件夹;
- 从库文件的工程模板里将stm32f10x_it.h ,stm32f10x_it.c,stm32f10x_conf.h,main.c 拷贝入user文件夹;
- 在Keil MDK软件中创建new project,定位到步骤1自定义的工程模板文件夹的project,创建工程名;
- 选择开发板芯片型号(以STM32F103C8为例,如果以后更换芯片型号需要重新创建工程模板),弹框提示:Copy STM32 Starup Code to Project Folder and Add File to Project? 这里选择NO,因为后续会手动添加工程所需的文件;
- 点击file extensions, 在Project Targets下,确定工程名(Project),在Groups下,创建包含Starup,CMSIS,StdPeriph_Driver,user这4个组名;
5.1 在Files里添加对应Groups下的.c文件和.s文件:
starup: 从库文件CMSISCM3DeviceSupportSTSTM32F10xstartuparm里添加startup_stm32f10x_md.s起始文件
CMSIS:
从库文件CMSISCM3CoreSupport里添加core_cm3.c
从库文件CMSISCM3DeviceSupportSTSTM32F10x里添加system_stm32f10x.c
StdPeriph_Driver: STM32F10x_StdPeriph_Driversrc下的所有源文件
user: 从工程模板文件夹里选择stm32f10x_it.c 和 main.c
- 在option窗口,Output里勾选Create HEX File, 在Select Folder for Objects里添加编译出来的可执行文件的输出路径:out
- 在option窗口,Listing里Select Folder forListings,添加路径list (将产生的其他文件放到这个文件夹里,使其不污染整个文件)
-
在option窗口>>C/C++>> Preprocessor Symbols>>Define里添加STM32F10X_MD (这个根据所使用芯片的型号确定,在stm32f10x.h里有相关说明)
或者在头文件stm32f10x.h里,根据所使用的开发板芯片型号,解开注释 /* #define STM32F10X_MD */ -
在option窗口>>C/C++>> Preprocessor Symbols>>Define里添加USE_STDPERIPH_DRIVER
或者:在头文件stm32f10x.h里,解开注释/* #define USE_STDPERIPH_DRIVER*/
// 在option窗口>>C/C++>> Preprocessor Symbols>>Define里添加USE_FULL_ASSERT
或者:在头文件stm32f10x.h里,设置。
-
在option窗口 >> C/C++ >> Include Paths中添加(.h文件)
CMSISCM3CoreSupport
CMSISCM3DeviceSupportSTSTM32F10x
STM32F10x_StdPeriph_Driverinc
user
-
检查开发板的外部高速晶振External High Speed oscillator (HSE)是否为8M,若不是,在头文件stm32f10x.h里进行修改
-
//检查一下,一定要包含stm32f10x.h,因为stm32f10x.h包含stm32f10x_conf.h,stm32f10x_conf.h又包含所有外设驱动的头文件,例如"stm32f10x_usart.h" “stm32f10x_rcc.h”
-
在Debug里,使用右侧的调试器ST-Link Debugger,在 Settings里的Debug页设置Port:JTAG,Settings里的Flash Download页勾选 Program,Verify,Reset and Run;Programming Algorithm里选择芯片相应的Flash容量
-
在Utilities里,Use Target Driver for Flash Programming>>选择ST-LINK Debugger, Settings里的Flash Download页勾选 Program,Verify,Reset and Run;Programming Algorithm里选择芯片相应的Flash容量
最后
以上就是忐忑发夹为你收集整理的Keil MDK4或MDK5 创建工程模板(基于标准库)准备工作标准外设库文件解读步骤的全部内容,希望文章能够帮你解决Keil MDK4或MDK5 创建工程模板(基于标准库)准备工作标准外设库文件解读步骤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复