keil5改工程名称_Keil5新建STM32工程(详细图解)

本文详细介绍了如何使用Keil5创建一个新的STM32工程,包括下载ST官方库,新建工程文件夹,配置CMSIS、FWLIB、USER文件夹,设置工程芯片,导入库文件,修改工程名称,解决编译错误。步骤清晰,适合初学者参考。
摘要由CSDN通过智能技术生成

一、下载ST官方库

首先注册账号登录,然后点击产品、微控制器;如图

接着右侧的工具与软件;嵌入式软件,并选择STM32,如图。

我的是STM32F1系列,选择如图这个

获取软件

然后下载即可。

二、安装keil

不介绍。相信都安装好了。

三、准备工作

新建project文件夹,并在里面新建三个文件夹,CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数),USER(存放用户自己的函数),如图。

解压下载的官方库,主要用到标出的两个。

将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport中的文件复制到CMSIS中,再将C:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的文件全部复制到CMSIS中。最终CMSIS中的文件如图。

将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中的 inc src 复制进FWLIB文件夹。

将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template中的这几个文件复制进USER,

至此 准备结束。

四、新建工程

打开keil,新建工程temp(原来有工程需要关闭),保存在刚刚新建的project里面。

保存后会让选择芯片。我用的是STM32F103VE系列,所以选这个。

确定之后跳出一个窗口,直接关掉(这是让选择启动引导等的,我们已经下载的库里有,所以跳过这一步)。点红线圈出的图表,然后把tegart1改为temp。删除掉SourceGroup1.

依次添加CMSIS、USER、FWLIB、STARTUP,并把刚刚复制在对应文件夹下的文件添加。注意的是STARTUP要选择NewProject\CMSIS\startup\arm中的startup_stm32f10x_hd.s、startup_stm32f10x_ld.s、startup_stm32f10x_md.s三个。文件类型选择所有。  FWLIB中只需要添加src中的.c文件即可。  CMSIS中不需要添加STARTUP中的文件。 添加完毕点击OK。

然后点击魔法棒,进入C/C++设置界面,在define一栏输入 STM32F10X_HD,USE_STDPERIPH_DRIVER ,并在includepath栏加入头文件路径。

includepath内容如下

至此,工程创建完毕。可以点击编译查看是否有错。

五、问题与调试

编译后发现有错,因为直接用的库里的main函数,不包含#include 'stm32_eval.h' 头文件,直接删除。并把其他main函数中未用内容删除,并在main函数中包含相关头文件。空白工程主函数如图。

在编译,依然有错。

意思是引导文件太多。就是STARTUP中只能一个引导使用。因为此处用的HD,所以把另外两个 Options for File    中的include TargetBulid 和 Always Bulid 的灰色勾点掉。

更改完毕后STARTUP中其他两个前面都有红色杠杠。

再次编译,还是有错。

说是 system_stm32f10x_1.c and system_stm32f10x.c 重复。

但是检查工程栏未发现有system_stm32f10x_1.c。最后发现是包含文件中存在重复。点击如图方块,发现在CMSIS和USER中都包含有system_stm32f10x_1.c。把CMSIS中的system_stm32f10x_1.c删除。编译无错。

保存一下,空白工程建立完毕!之后就可以根据手册进行开发了O(∩_∩)O哈哈~。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值