我是靠谱客的博主 忐忑发夹,最近开发中收集的这篇文章主要介绍Keil MDK4或MDK5 创建工程模板(基于标准库)准备工作标准外设库文件解读步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


目录

  • 准备工作
  • 标准外设库文件解读
  • 步骤


准备工作

  1. STM32 标准外设库文件下载 STM32F10x_StdPeriph_Lib (STM官网)

  2. 安装 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)
/*-------------------------------------------------------------------------------------------*/

步骤

  1. 在工程模板文件夹下创建user,project,out,list以及库文件CMSIS, STM32F10x_StdPeriph_Driver这6个文件夹;
  2. 从库文件的工程模板里将stm32f10x_it.h ,stm32f10x_it.c,stm32f10x_conf.h,main.c 拷贝入user文件夹;
  3. 在Keil MDK软件中创建new project,定位到步骤1自定义的工程模板文件夹的project,创建工程名;
  4. 选择开发板芯片型号(以STM32F103C8为例,如果以后更换芯片型号需要重新创建工程模板),弹框提示:Copy STM32 Starup Code to Project Folder and Add File to Project? 这里选择NO,因为后续会手动添加工程所需的文件;
  5. 点击file extensions, 在Project Targets下,确定工程名(Project),在Groups下,创建包含Starup,CMSIS,StdPeriph_Driver,user这4个组名;

file extensions
在这里插入图片描述

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

在这里插入图片描述

  1. 在option窗口,Output里勾选Create HEX File, 在Select Folder for Objects里添加编译出来的可执行文件的输出路径:out

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

  1. 在option窗口,Listing里Select Folder forListings,添加路径list (将产生的其他文件放到这个文件夹里,使其不污染整个文件)

在这里插入图片描述

  1. 在option窗口>>C/C++>> Preprocessor Symbols>>Define里添加STM32F10X_MD (这个根据所使用芯片的型号确定,在stm32f10x.h里有相关说明)
    或者在头文件stm32f10x.h里,根据所使用的开发板芯片型号,解开注释 /* #define STM32F10X_MD */

  2. 在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里,设置。
    在这里插入图片描述

  3. 在option窗口 >> C/C++ >> Include Paths中添加(.h文件)

CMSISCM3CoreSupport
CMSISCM3DeviceSupportSTSTM32F10x
STM32F10x_StdPeriph_Driverinc
user
在这里插入图片描述

  1. 检查开发板的外部高速晶振External High Speed oscillator (HSE)是否为8M,若不是,在头文件stm32f10x.h里进行修改

  2. //检查一下,一定要包含stm32f10x.h,因为stm32f10x.h包含stm32f10x_conf.h,stm32f10x_conf.h又包含所有外设驱动的头文件,例如"stm32f10x_usart.h" “stm32f10x_rcc.h”

  3. 在Debug里,使用右侧的调试器ST-Link Debugger,在 Settings里的Debug页设置Port:JTAG,Settings里的Flash Download页勾选 Program,Verify,Reset and Run;Programming Algorithm里选择芯片相应的Flash容量
    在这里插入图片描述
    在这里插入图片描述

  4. 在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 创建工程模板(基于标准库)准备工作标准外设库文件解读步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部