stm32标准库工程的建立

学习stm32最好用一个专门的文件夹来存放所有的工程文件,例如,我建了一个叫做keil_study文件夹来存工程

接着我们在“keil_study”文件夹下创建工程文件夹,这里可以用中文,例如,我用“新建工程”这个名字

然后在“新建工程” 文件夹下创建五个子文件夹,分别是“startup”,“lib”,"obj",“user”,“app”,lib 文件夹下再创建一个 “CMSIS” 的文件夹

其中,

startup 文件夹用来存放启动文件,

lib 文件夹存放固件库中的 CMSIS 文件夹和STM32F10x_StdPeriph_Driver 文件夹两个文件夹中的文件,

obj 文件夹存放使用keil软件过程中编译的输出文件,

user 文件夹存放用户文件,例如main.c,

app 文件夹存放用户编写的外设驱动文件。

文件夹新建完毕后,从固件库中导入文件(我的固件库是v3.5版本的)

在startup 文件夹中放入以下文件

文件路径位于 

“STM32最新固件库v3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm”

在 lib 的 “CMSIS” 文件夹中放入以下文件

文件路径位于

STM32最新固件库v3.5\Libraries\CMSIS\CM3\CoreSupport

再将 “STM32最新固件库v3.5\Libraries” 路径下的 “STM32F10x_StdPeriph_Driver” 文件夹复制到

“lib” 文件夹下

在user 文件夹中放入以下文件(总共7个文件)

文件路径位于

STM32最新固件库v3.5\Project\STM32F10x_StdPeriph_Template   (这个路径下有5个)

STM32最新固件库v3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x    (这个路径下有3个,system_stm32f10x.c重复,可以复制过来替换掉,也可以不复制)

下面开始打开keil软件 (我的是汉化版,对照着位置看就好了)

注意: 此处命名不能有中文!!!!!!!!!!

点击保存后进入下一界面

在这个界面中找到对应的芯片型号,我的是stm32f103ZE

点击ok后进入下面这个界面,直接叉掉就好了 

 

 改成下图这样

别急着点ok!!!,还要接着添加文件 

 其他的添加方法一样,文件都在对应的文件中 ,其中lib中的STM32F10x_StdPeriph_Driver文件夹只添加src中的文件(都是c文件),因为文件太多了,我这里只添加rcc和gpio两个常用文件

 app文件夹中没有东西,所以不管他 

添加好后点击ok,下图可以对照检查一下

距离新建完毕还差一步了!!!

点击魔术棒 

两个宏,可直接复制-------USE_STDPERIPH_DRIVER,STM32F10X_HD

更正:下面这张图少了一个app文件夹路径(也就是四个路径,突然发现 “加入” 写成了 “假如” ,图片中的文字要更正为 “加入四个路径” )

下图为正确加入的路径和个数 (四个路径)

 

 

 如果用的其他下载器,参照下载器的说明书

 上一步选完后,一路ok

双击左边的main.c文件,会发现有很多代码,ctrl+A全选,然后delete,写下下面的代码

点击编译,等待一会后,下方出现0 errors,0 warnings,则说明新建工程成功

上文中没有在app文件夹中放入任何文件,因为这个文件夹中存放的是用户自己写的驱动程序文件,例如led.h,led.c,delay.h,delay.c等等。

最后,因笔者也是stm32的初学者,学习的板子是普中的玄武F103开发板,写这个的原因是怕自己遗忘,毕竟建工程还是挺麻烦的,若是有写的不对的地方,还请海涵,如若可以,麻烦私信告诉我,我会立即改正,谢谢大家。 

更正:在魔术棒->两个宏图片中的第三步添加路径中,少添加了app文件夹路径,

        未添加这个路径会导致,在app文件中的外设驱动文件无法被找到,具体报错信息如下

main.c(2): error:  #5: cannot open source input file "led.h": No such file or directory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值