STM32基于固件库的MDK5工程模板创建

STM32创建固件库工程模板

  1. 准备工作:基于V3.5的固件库包;MDK5软件环境;

  2. 创建工程模板文件夹00Temp,在文件夹中创建USER文件夹用于存放工程文件
    工程文件夹

  3. 打开MDK5,菜单栏Project->New uVision Project,选择刚刚创建的USER文件夹,工程命名为Temp,保存。
    创建工程文件
    在这里插入图片描述

  4. 选择SMT32型号:我使用的型号是STM32F103ZET6,所以选择STMicroelectronics->STM32F1 Series->STM32F103->STM32F103ZET6,选择到对应的芯片型号,点击OK。
    在这里插入图片描述

  5. MDK会弹出Manage Run-Time Environment对话框,这里先不管,点击cancel。
    在这里插入图片描述

  6. 进入工程界面:STM32还需要启动代码,以及.c文件,此时USER文件夹下生成了两个文件夹,listings和Objects文件夹,用于存放编译过程中产生的中间文件,我们先不用这两个文件夹,Temp.uvprojx为工程文件,后面双击该文件就可以打开我们创建的工程文件。
    在这里插入图片描述

  7. 创建文件夹:在00Temp文件夹下,创建三个文件夹,CORE,OBJ,STM32F10x_FWLiB。CORE文件夹用于存放核心文件和启动文件,OBJ用于存放编译过程中文件,以及需要烧写的hex文件,STM32F10x_FWLib文件夹存放ST官方提供的库函数源码文件,刚刚创建的USER用于存放工程文件,main.c和其他外扩的.c文件。
    在这里插入图片描述

  8. 下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。打开官方固件库包,定位到我们之前准备好的固件库包的目录
    STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面,将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 STM32F10x_FWLib 文件夹下面。src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件,对应每一个外设的文件。
    STM32F10x_FWLib文件夹内容
    src文件夹内容

  9. 启动文件:将官方固件库包,定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下面,将文件 core_cm3.c和文件 core_cm3.h 复制到 CORE 下 面 去 。 然 后 定 位 到 目 录
    STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下面,将里面 startup_stm32f10x_hd.s 文件复制到 CORE 下面。注意不同芯片选择的启动文件有差异。
    启动文件放入CORE目录下

  10. USER目录下文件:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面将里面的三个文件 stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,复制到我们的 USER目录之下。然后将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面的 4 个文 件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 复制到 USER 目录下面。
    USER文件夹目录

  11. 将文件导入到工程中:打开MDK文件,右键点击Target1,选择Manage Project Items,在Project Targets一栏中,将Target名字范围Temp,在Groups一栏中删掉Source Group1,简历三个Group:USER,CORE,FWLIB。然后点击OK,可以看到工程中Target和Groups的情况。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  12. 在Group中添加文件:右键点击Temp,选择Manage Project Items,选择要添加文件的Group,先选择FWLIB,然后点击右边的Add files,定位到刚刚创建的文件夹STM32F10x_FWLib/src文件夹中,将里面的文件全部选中,然后点击Add,添加到Group中,刚开始,我们可以将其全部添加到工程文件中,后面如果做项目时,应用到哪些文件添加哪些,如果不需要可以删掉。
    在这里插入图片描述

  13. 用同样的方式,在CORE Group中添加core_cm3.c,startup_stm32f10x_hd.s,在USER Group中添加main.c,stm32f10x_it.c,system_stm32f10x.c.
    在这里插入图片描述在这里插入图片描述

  14. 工程文件:此时Group中可以看到有+号,将其点开,如图所示,这样就成功添加文件到工程中。
    在这里插入图片描述

  15. 设置编译工程:点击魔术棒,选择output,选项下面的Select folder for object…,然后选择目录为刚刚创建的文件夹OBJ,此时编译生成的文件就会在OBJ文件夹中,不然的话,文件会出现在 生成工程文件的Objects目录中。
    在这里插入图片描述

  16. 引入头文件:此时我们编译文件,会报错,因为工程无法识别头文件的位置,我们需要点击魔术棒,选择c/c++选项,点击include Paths,在弹出的对话框中,将我们刚刚创建的三个目录添加进去,如图所示:点击OK。
    在这里插入图片描述

  17. 此时编译还是会出错,原因是3.5版本的固件库函数在配置时需要宏定义来选择外设,需要配置一个全局宏定义变量。在16步中,选择c/c++选项,填写“STM32F10X_HD,USE_STDPERIPH_DRIVER”到 Define 输入框里面。
    在这里插入图片描述

  18. 此时将我们的main函数写入你需要的文件时,就可以完成一个工程的编译了。

  19. 在output选项中勾选生成hex文件,即可生成可下载到硬件中的文件了。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值