STM32工程文件模版配置

一.配置环境

         首先就是要安Keil uVision5,这一点网上说的很详细的人有很多,这一点大家可以搜一搜来进行观看。这里推荐一个博主的文章,写的很好,大家可以去看一下。

链接:零基础快速上手STM32开发(手把手保姆级教程)-CSDN博客 

 二.建立工程模版

        安装完MDK之后,紧接着我们开始利用STM32的官方库来构建自己 的工程模板。以后我们就用自己建立的模板来新建工程方便快捷。有关于STM32 3.5版本的固件库在我第一个文章里面有讲,可以前去下载。

2.1 新建工程 

        (1)点击桌面μVision5图标,启动软件。 

         在工具栏Project->NewμVision Project新建我们的工程文 件,我们将新建的工程文件保存在桌面的新建的文件夹下,文件夹的名字可以随便取,比如我们将新建的工程文件保存在桌面的TEST/USER文件夹下。

         接下来的窗口是让我们选择公司和芯片的型号,我们用的芯片 是ST公司的STM32F103C8T6,属于高集成度 的芯片。按如图3-9所示选择即可。

下一步一般没有什么需要操作的,直接点击OK就行。

        (2)此时我们的工程新建成功,如图3-11所示。但我们的工程中还 没有任何文件,接下来我们需要添加所需文件。 

         在TEST文件夹中,新建5个文件夹,分别为USER、Driver、 CMSIS、Output、Listing,其中USER已经存在,就不需再建了。

 USER用来存放工程文件和用户层代码,包括主函数main.c。

Driver用来存放STM32库里面的inc和src这两个文件夹,这两个文件包含了芯片上的所有驱动,这两个文件夹下的文件我们不需要修 改。

CMSIS用来存放库为我们自带的启动文件和一些位于CMSIS层的文件。

Output文件夹用来保存软件编译后输出的文件。

Listing用来保存编译后生成的链接文件。

        (3)把库\Libraries\STM32F10x_StdPeriph_Driver文件夹下的inc 跟src这两个文件夹复制到Drive文件夹中,这个一般是驱动所需要的文件,直接复制粘贴过来就行。

        (4) 把库文件夹Project\STM32F10x_StdPeriph_Template下的 main.c、stm32f10x_conf.h、stm32f10x_it.h和stm32f10x_it.c复制 到USER目录下。这4个文件是用户在编程时需要修改的文件,其他库文件一般不需要修改。

        (5)将库文件\Libraries\CMSIS\CM3文件夹下的全部文件复制到 CMSIS文件夹中。 Startup\arm里面有6个启动文件,每个文件都对应着不同的STM32 型号芯片。据ST的官方资料:Flash在16~32 KB为小容量,64~128 KB为 中容量,256~512 KB为大容量,不同大小的Flash对应的启动文件不 一样,这点要注意。

        其他几个文件,system.stm32f10x.h、system.stm32f10x.c、 stm32f10x.h这几个位于CMSIS层的文件也是放到CMSIS文件夹中。

        (6)回到我们的工程中,选中Target右键选中Add Group选项新建 4个组,分别命名为STARTCODE、USER、DRIVER、CMSIS。

STARTCODE从名字就可以看出我们是用它来放我们的启动代码的。

USER用来存放用户自定义的应用程序。

FWlib用来存放库外设驱动文件。

CMSIS用来存放M3系列单片机通用的文件。

        (7)接下来我们往这些新建的组中添加文件,双击哪个组就可以 往哪个组里面添加文件。

 在STARTCODE组里面添加startup_stm32f10x_hd.s启动文件。

在USER组里面添加main.c和stm32f10x_it.c这两个文件。

在FWlib组里面添加src文件夹里面的全部驱动文件,当然src里面 的驱动文件也可以按需添加。这里将它们全部添加进去是为了后续开 发的方便,况且我们可以通过配置stm32f10x_conf.h这个头文件来选 择性添加,只有在stm32f10x_conf.h文件中配置的文件才会被编译。

在CMSIS里面添加core_cm3.c和system_stm32f10x.c文件。注意, 这些组里面添加的都是汇编文件和C文件,头文件是不需要添加的。有 些文件加到工程后发现文件是不能修改,那是因为库的原文件设置了 只读属性,我们要把文件属性修改为可读写。

        (8)至此,我们的工程已经基本建好,下面是需要进行软件配置了。

2.2 软件配置

         (1)点击工具栏中的魔术棒按钮 ,在弹出来的窗口中选中 “output ”选项卡,如图。

 

选择输出位置为工程文件里面创建的Output文件夹。 

(2)回到 选项卡界面,选择Listing选项,更改位置,点击Select Folder for Listings选择Listing文件夹,用来保存生成的链接文件,如图。

        (3)把原来从库函数复制来的main.c文件里的内容全部删除,输入以下代码:

1.#include"stm32f10x.h"
2.
3.int main(void)
4.{
5.while(1);
6.//add your code here^_^。
7.}

         (4)现在点击工具栏图标 来编译一下,结果发现了非常多的错 误,如图3-21所示。究其原因是编译器在编译时搜索的默认库路径 是:C:\Keil\ARM\INC\ST\STM32F10x,这里面也有STM32官方驱动库 的头文件,里面的文件与我们的inc文件夹下的内容差不多,只是版本 旧了点,在编译我们新版本库时存在不兼容。为了解决这个问题,我 们需要屏蔽掉编译器默认库的搜索路径。

        (5)点击工具栏中的魔术棒按钮 ,在弹出来的窗口中选中“ C/C++”选项卡,在Define文本框里面添加两个宏定义: USE_STDPERIPH_DRIVER, STM32F10X_MD,如图。

        添加USE_STDPERIPH_DRIVER是为了使用ST官方库,添加 STM32F10X_HD宏定义是因为我们用的芯片是大容量的,添加了这个宏 之后,我们就可以用库文件里面为大容量定义的寄存器了。

        芯片是小或中容量的时候宏要换成STM32F10X_LD或者 STM32F10X_MD。其实不管是什么容量的,我们只要添加上 STM32F10X_HD这个宏即可,当你用小或者中容量的芯片时,我们不去 访问那些为大容量定义的寄存器就是了,反正也访问不了。 

        然后添加搜索路径。 

 

添加成功之后,你会发现之前那些编译报错的情况就没了,编译一切正常。 

做到这里的话,基本上已经大功告成了,一个标准库的工程文件模版已经设计完毕。 

 

           

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值