[STM32F4] 强仔教你玩stm32f401 Necleo之利用KEIL 5帮你快速建工程模板的技

[复制链接]
22635|108
 楼主| 强仔00001 发表于 2014-8-23 09:31 | 显示全部楼层 |阅读模式
本帖最后由 强仔00001 于 2015-1-8 19:33 编辑

         本人使用keil 5有一段时间了,发现keil5真考虑周到,里面驱动库也帮你准备好了。这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个芯片。大家以后既就可以很方便的建自己的工程模板了,再也不会为了找芯片的驱动库而烦恼。
         今天外我来教大家来怎么使用这个建工程的利器吧。
首先是新建工程吧,如下图步骤:
建工程.png 建工程1.png 建工程2.png
因为我用的是stm32f401 Necleo,所以芯片型号应该要选择stm32f401te,选好芯片类型后,会弹出一个大的面板,如下图:
建工程3.png
红色框里的都是一些集成在keil 5的启动文件,arm内核的文件,st公司的库函数和一些API等等。一个工程最起码也要选上corestartup两个选项,如下图:
建工程4.png
然后选择OK,就建好了空白的工程。然后就要对工程做一些设置,如下图:
建工程6.png
建工程7.png
建工程8.png
然后新建的文件main.c添加到工程当中,步骤如下:
建工程9.png
然后在main.c文件中添加如下代码:
建工程10.png
到这里我们的空白工程建好了,后面我来教大家怎样加keil 5里自带的st库。首先我点击那个绿色的小图标,如下图:
建工程11.png
点击后会弹出一个大的页面,然后找到Device->StdPeriph Drivers。如下图:
建工程5.png
点开StdPeriph Drivers选项的加号图标,就可以看到st库目录下各外设的驱动文件,后面是他的版本说明,这是V1.3版本的,是比较新的,建议大家尽量使用新的库。
我这里就勾上了所有外设的驱动的文件,如下图:
建工程12.png 建工程13.png
然后点击OK后,就可以看到原先工程目录下的Device添加了刚才选择外设的驱动文件。添加完后大家不要急着编译工程,还有对工程进行相关的配置,否则如下图,编译不成功的:
建工程15.png
接下来,我来配置下工程,右击target,然后进入配置工程的面板,步骤如下:
建工程16.png
这里要填上USE_STDPERIPH_DRIVER,这就表明编译器选择了st
建工程17.png
然后我们来指定编译器头文件的路径
建工程18.png 建工程19.png 建工程21.png
以上这两个路径是编译器编译时要找的路径,这几个头文件至关重要,这里编译器关联头文件所需要的。
建工程20.png 建工程27.png
当做完以上工作后,我们就可以来编译一下工程,在编译时,编译器就会根据我们的配置来编译驱动头文件和驱动的C文件。如下图:
建工程22.png
当编译成功后会出现以下的信息:
建工程23.png
下面我们要看看新的stm32f4xx_conf.h里的内容吧,如下图:
建工程24.png
可以看出这跟旧版本的stm32f4xx_conf.h文件有些区别,在每个头文件这里多了个条件编译,
大家可以理解成开关吧,就是用来选择编译头文件用的,而这些开关都在RTE_Components.h这个头文件里,如下图:
建工程25.png
编译完成后,可以看出main.c里包含了各驱动库的头文件,如下图:
建工程28.png
做完以上工作后,我们就建好了一个基于库函数的模板了。
当大家编译完工程后,会发现工程目录里多出了好多文件,这是正常的,这是编译后产生的文件,如下图:
建工程33.png
先把原来的产生的文件删除掉,删除后如下图:
建工程34.png
现在我教大家怎样把这些文件指定每次编译后生成在指定的地方。
步骤如下:
首先还是进入工程配置的选项面板,然后在自己的工程目录里新建一个Output的文件,然后点击去,再点击OK,这样就代表告诉编译器器每次编译后生成的文件都会放在这个文件夹里。
建工程29.png 建工程30.png
这个跟上面的一样配置。
建工程31.png 建工程32.png
做好这些工作后,就可以编译工程了,编译完后生成的文件会保存在自己指定的那两个文件,如下图:
建工程35.png 建工程36.png 建工程37.png
这样工程目录下的结构就清爽多了。


KEIL 5快速建工程模板.zip (67.23 KB, 下载次数: 262)

作者简介

21ic网名:强仔00001

自我介绍:我是五邑大学信息学院通信工程的本科二年级在读,喜欢研究硬件电路、软件编程。能熟练运用Altium designer 09 ,会pads 9.5candence 16.6。开发过TIMSP430C2000freescaleK60ST等公司的芯片,对软件和硬件有很大的兴趣。希望能多认识一些有共同兴趣的朋友。QQ963775289

我在最后补充一句:这个种建模板的方法不是所有的ST芯片都可以,只是个别型号可以的
icecut 发表于 2014-8-23 09:48 | 显示全部楼层
建议直接使用官方的iar来实验和二次开发.不是每个人都能解决工程问题.
 楼主| 强仔00001 发表于 2014-8-23 10:08 | 显示全部楼层
icecut 发表于 2014-8-23 09:48
建议直接使用官方的iar来实验和二次开发.不是每个人都能解决工程问题.

好像比较多人使用Keil的吧,个人比较喜欢keil 5,多谢版主的提议,我回去看看iar的
icecut 发表于 2014-8-23 11:42 | 显示全部楼层
强仔00001 发表于 2014-8-23 10:08
好像比较多人使用Keil的吧,个人比较喜欢keil 5,多谢版主的提议,我回去看看iar的 ...

搞电子,千万不要有个人喜好.要通吃.否则,你会遇到很多麻烦.

评分

参与人数 1威望 +1 收起 理由
inc_biza + 1 编译器也要通吃吗?

查看全部评分

mmuuss586 发表于 2014-8-23 12:59 | 显示全部楼层

支持楼主分享;
有空整理个PDF文档啊
 楼主| 强仔00001 发表于 2014-8-23 15:55 | 显示全部楼层
icecut 发表于 2014-8-23 11:42
搞电子,千万不要有个人喜好.要通吃.否则,你会遇到很多麻烦.

其实我也用过IAR的,之前用MSP430和飞思卡尔的k60就用IAR的,这次听你的
 楼主| 强仔00001 发表于 2014-8-23 15:57 | 显示全部楼层
mmuuss586 发表于 2014-8-23 12:59
支持楼主分享;
有空整理个PDF文档啊

我每次都是会写个word文档的
gxliu08 发表于 2014-8-23 20:43 | 显示全部楼层
谢谢分享
tangqilin324 发表于 2014-8-24 12:22 | 显示全部楼层
谢谢分享~~
 楼主| 强仔00001 发表于 2014-8-24 17:29 | 显示全部楼层
tangqilin324 发表于 2014-8-24 12:22
谢谢分享~~

多谢支持
hqtdzgs 发表于 2014-8-25 11:29 | 显示全部楼层
我在 MDK5.1,学习一下
tuzihog 发表于 2014-8-25 11:59 | 显示全部楼层
关注一下
双壳蜗牛 发表于 2014-8-25 21:55 | 显示全部楼层
学习一下。
数码小叶 发表于 2014-8-26 09:09 | 显示全部楼层
我想请教一下,为什么keil5里面没有三星的器件呢?器件明显没keil4多啊
 楼主| 强仔00001 发表于 2014-8-26 23:59 | 显示全部楼层
数码小叶 发表于 2014-8-26 09:09
我想请教一下,为什么keil5里面没有三星的器件呢?器件明显没keil4多啊

这个我不清楚。以前没用过三星的,器件明显是没keil4多,你可以上ST官网有没有提供芯片的支持包
xianstm32 发表于 2014-8-27 07:14 | 显示全部楼层
这个很不错,一步一步很详细,强子有空再做个KEIL ARM  mdk v5.1  环境下stm32f4 流水灯的教程。
STM32初学者 发表于 2014-8-30 08:48 | 显示全部楼层
给强仔顶起,建议一张图片放一层楼,这样刷新快,我半天没刷出来
zale1204 发表于 2014-8-30 09:01 | 显示全部楼层
技术贴,支持。。。还没有用过keil5...
grace75 发表于 2014-8-30 10:19 | 显示全部楼层
顶起,入门必备
wangdezhi 发表于 2014-8-30 10:49 | 显示全部楼层
好教材呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

799

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部