新建STM32F103ZET6的keil工程库函数版本

1.首先下载STM32F10x_StdPeriph_Lib_V3.5.0固件,

这个是ST公司的官方库文件,里面包含STM32的启动文件,库函数文件,可以在STM社区查找,也可以在ST官网下载。

2.安装KEIL,然后新建工程

新建工程步骤:(1)选择project -》new uvision project ,
(2)此时可以创建一个文件夹template,然后文件夹中创建USER文件夹,将工程保存在USER里面。
(3)保存完工程后有弹出如下所示弹窗,选择对应的型号,也可以搜索STM32的型号。这个选择型号需要安装对应的 pack包才会显示这些单片机型号,没有安装不会显示


(4)选择完成后出现如下弹窗,这个是用来添加自己的开发组件,这里我们用不到。关闭它
在这里插入图片描述
(5)此时我们只构建了一个工程框架,打开USER文件夹,如下:
在这里插入图片描述
Objects和Listings文件是keil自动生成的文件,存放编译过程的中间文件,这里我们在template文件夹目录下新建几个文件夹,建立CORE文件夹,用来存放STM32的核心文件和启动文件,
建立OBJ文件夹,用来存放编译工程的中间文件以及hex文件,
建立SYSTEM文件夹,用来存放自己写的驱动文件和其他.c, .h文件,
建立STM32F10x_FWLib文件夹,用来存放STM32的库函数源码文件,

(6)开始将相关文件存放到对应文件夹
在STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver文件夹下面,将src(库文件的.c文件),inc(库文件的.h文件)存放到STM32F10x_FWLib文件夹下。这两个文件其实是官方库函数源码。
在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文件夹下,这个文件是启动文件,是根据芯片容量来选择启动文件,还有md(中容量),ld(小容量)。
在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文件下,将main.c, stm32f10x_conf.h, stm32f10x_it.c, stm32f10x_it.h 放到USER文件夹下。
此时,基本移植完成了所有文件

(7)开始添加文件路径,方法为选中Target1,右键,有个品字形的manage功能,通过这个添加.C文件,需要注意的是在CORE文件下添加,需要将启动文件添加进去。选中ALL file可以看到这个文件。
在这里插入图片描述
(8)添加.h文件路径。这里选择魔法棒,C/C++,将所有路径添加进去一定要到最底层的文件,不能文件里面还有文件,这样是不行的。
在这里插入图片描述
(9)选择输出的hex文件路径和创建hex文件,还有编译的中间文件路径
在这里插入图片描述
在这里插入图片描述
(10)此时添夹完成后,设置完成后点击编译,会出现很多warning 和error,这是由于没有宏定义的问题,打开魔术棒,选择C/C++,将STM32F10X_HD(根据芯片内存大小来进行定义,HD是flash>=256KB),USE_STDPERIPH_DRIVER添加到define 里面。点击OK 即可。重新编译无问题。
注:本次教程参考正点原子的教程,如有疑问可以在bilibili网站查找正点原子的视频进行创建工程,网站链接:https://www.bilibili.com/video/BV1Lx411Z7Qa?p=9

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值