×
嵌入式 > 嵌入式开发 > 详情

通过STM32固件库V3.5.0来建立一个简单的工程模版

发布时间:2021-05-14 发布时间:
|

         首先,打开Keil,选择Project-》New uVision Project,选择合适的文件夹,输入工程名后,点击保存,建立工程。

  如下图,在Template文件夹下建立工程名为stm32_demo的工程。

  

  然后我们选择器件,以STM32F103RB为例(STM32其他系列可类推),在STMicroelectronics栏中选择STM32F103RB,如下图,在图右侧我们可看到关于芯片的描述。

  

  点击确定后弹出如下的对话框,问需不需要添加启动文件(此启动文件为MDK自带的),

  

  在这里,选择否(N),等会我们会添加STM32固件库中的启动文件。

  接下来,我们要建立几个文件组,用来存放不同的源文件,让整个工程目录结构清晰,点击中的后如下图所示

  

  点击中的可建立一个文件组,可以删除分组,下面我们将建立User,StdPeriph_Drive,CMSIS,MDK-ARM四个文件组,User用来存放与用户有关的文件,StdPeriph_Drive用来存放库函数中的外设驱动文件,CMSIS用来放于Cortex_M3内核有关的文件,MDK-ARM用来存放启动文件,文件组建立好后,如下图所示。

  

  点击OK,我们可看到文件组如下所示

  

  接下来,我们将对固件库文件夹(如下图所示)与Template文件夹中的文件进行操作。

  

  将固件库文件夹中的Libraries文件夹复制到工程目录下(即刚才建立的Template文件夹下),并在Template下建立User与Output两个文件夹,User用来放与用户代码有关的文件,Output用来存放编译后产生的中间文件。

  打开Template文件夹后如下图所示。

  

  然后,将

  STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_Stdperiph_Examples\GPIO\IOToggle

  目录下main.c,stm32f10x_conf.h,stm32f10x_it.h,stm32f10x_it.c四个文件复制到User目录下。

  至此,文件的操作结束。

  重新点击,现在我们要向各个文件组中添加文件。

  首先是User文件组,点击Add Files,然后添加User文件夹下的3个C文件,如下图所示。

  

  然后是StdPeriph_Drive文件组,向其添加Libiraries\STM32F10x_StdPeriph_Driver\src下的所有源文件,如下图所示

  

  然后是CMSIS文件组,向其添加Libiraries\CMSIS\CM3\CoreSupport下的core_cm3.c和

  Libiraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下的system_stm32f10x.c文件,如下图所示

  

  然后是MDK-ARM文件组,向其添加启动文件,启动文件在

  Libiraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下,因为我们选择的芯片型号为STM32F103RB,故向其添加startup_stm32f10x_md.s,如下图所示,其他类型芯片可根据芯片容量来选择相应的启动文件

  

  完成后,点击OK,至此,文件组的文件添加完毕。

  接下来,我们将进行编译选项的设置

  选择中的,在Target栏中勾选,Output栏中点击,选择Template文件下下的Output文件夹,并且勾选,Listing栏中点击

  ,选择Output文件夹,最后要在C/C++选项栏中设置好宏定义与文件包含路径。

  宏定义设置如下,其中STM32F103RB对应的宏定义STM32F10X_MD,可以根据其他芯片型号改变宏定义。

  

  文件包含路径设置如下,

  点击

  中的 来添加文件路径,在此要添加4个文件路径,如下图所示

  

  接下来是最后一步了,将main.c文件中的第24行#include “stm32_eval.h”注释掉即可。

  点击编译后,编译即可通过。

  编译的结果如下:

  

  主函数是一个关于IO翻转的例子,我们可以通过软件仿真来看波形。

  点击

  中的,然后选择

  

  中的(波形仿真),点击后如下图所示

  

  点击后如下图所示

  

  点击新建要观察的信号,在此处应输入PORTD.0与PORTD.2两个信号,设置好后点击Close,点击,仿真开始,我们可以观察到的波形如下图所示

  

  至此,库函数的移植结束。

  关于库函数的使用,大家可以参考官方关于固件库的手册。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
scsi接口