新闻中心

EEPW首页>嵌入式系统>设计应用> STM32固件库V3.5在Keil MDK环境下使用方法

STM32固件库V3.5在Keil MDK环境下使用方法

作者: 时间:2016-11-27 来源:网络 收藏

图中要勾选Reset and Run 选项,如果Flash Download 算法不对,请点击Add 重新添加Flash算法。

点击Utilities,进行公共参数设置

至此,我们已经完成了一个RVMDK工程参数设置。

二、介绍MDK工程的文件管理方面的功能。

我们在使用ST标准的固件库进行代码设计时,一个工程内可能会包含很多的库文件,因此对文件进行管理就非常的必要。

如下图所示,右键点击Target1,选择Manage Components,进入分类文件管理设置。

在弹出的选择框中,可以设置工程名,增加、删减文件夹。以及在某个文件夹内添加删除文件。

在完成以上操作后,一个MDK工程就设置完成了,只需要依据实际应用要求编写相关代码即可。

【友情提示:Groups下的文件夹不是实际存在的(如果这里的名字跟实际工程中的文件夹同名也不要以为它是真实的,否则不同名时,你在硬盘中是找不到它们的),只是为了工程管理建立的。】

我个人觉得标准的库文件“埋”的太深,使用起来有点不方便,所以我一般对这些文件进行一些整理,把相关文件放在一起,并取上一个标准化的名字,这些文件夹的名字一般和原始固件库文件夹的名字相同,只是把需要的文件放在一起。一般在工程目录下面我会建立以下几个文件夹,如图所示。当然还会建立前面已经建立的两个很有用的文件夹(List和Obj)

自己建立的文件夹和库文件的对应关系:

StdPeriph_Driver文件夹内的内容与标准库保持一致。

STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver

StartUp文件夹内的文件在库中的位置:

STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xStartUp

CMSIS文件夹内的文件在库中的位置:

STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x

stm32f10x.h,system_stm32f10x.c, system_stm32f10x.h

STM32F10x_StdPeriph_Lib_V3.5.0ibrariesCMSISCM3CoreSupport

core_cm3.c, core_cm3.h


Groups文件夹的名称和工程文件夹的名称尽量保持一致,如上图所示。为每个Group添加同名文件夹下的源文件或者头文件,为了便于查看代码,我把源文件和头文件都添加进Group中(除StdPeriph_Driver),在这里注意过滤文件的类型。StdPeriph_Driver中只添加需要的源文件,例如建立一个LED闪烁的工程,那么这个工程除了进行必要的初始化之外,只需要包含GPIO的操作函数,当然需要使用GPIO就必须要使能GPIO的时钟,RCC是绝对少不了的。所以只需要包含misc.c,stm32f10x_gpio.c和stm32f10x_rcc.c。添加需要的文件之后,工程目录如图所示。

现在重新说明一下一个工程建立的文件夹:

MDK工程:内有List和Obj两个文件夹

CMSIS:包含系统的内核文件

StartUp:包含各种启动文件

User:用户编写的应用文件

StdPeriph_Driver:内有src和inc两个文件夹,是标准库提供的源文件和头文件。

当然也有人直接将List和Obj两个文件夹放在User文件夹内,然后去掉MDK工程文件夹。这样也是可以的,看个人爱好了。我习惯将User文件夹独立出来不放List、Obj和**.uvproj等文件,只放自己编写的应用文件,这样当项目有很多应用文件的时候可以在User内建立src和inc两个文件夹存放源文件和头文件,使文件结构看起来更加清晰。

需要说明的是,虽然在有些Group中包含了一些头文件,但是Keil在编译连接的时侯却不知道头文件在什么地方,所以一定要指定头文件的路径。


重要指定的头文件为:..CMSIS;..StdPeriph_Driverinc;..User

重要】两个重要的宏也一定要指定:USE_STDPERIPH_DRIVER,STM32F10X_MD

三、J-LINK仿真调试。

强调】:Debug标签,使用JLINK V8进行仿真调试,对应的Cortex-M/R J-LINK/J-Trace前的Use要选中,否则J-LINK调试会出问题。

这部分我就不多说了,在实际硬件平台上多多练习吧,祝大家在学习过程中不断提高。

注:此文档参考了网上的一篇文章和神舟开发手册的部分内容。


上一页 1 2 下一页

评论


技术专区

关闭