打印
[STM32F4]

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

[复制链接]
19774|108
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 强仔00001 于 2015-1-8 19:33 编辑

         本人使用keil 5有一段时间了,发现keil5真考虑周到,里面驱动库也帮你准备好了。这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个芯片。大家以后既就可以很方便的建自己的工程模板了,再也不会为了找芯片的驱动库而烦恼。
         今天外我来教大家来怎么使用这个建工程的利器吧。
首先是新建工程吧,如下图步骤:

因为我用的是stm32f401 Necleo,所以芯片型号应该要选择stm32f401te,选好芯片类型后,会弹出一个大的面板,如下图:

红色框里的都是一些集成在keil 5的启动文件,arm内核的文件,st公司的库函数和一些API等等。一个工程最起码也要选上corestartup两个选项,如下图:

然后选择OK,就建好了空白的工程。然后就要对工程做一些设置,如下图:



然后新建的文件main.c添加到工程当中,步骤如下:

然后在main.c文件中添加如下代码:

到这里我们的空白工程建好了,后面我来教大家怎样加keil 5里自带的st库。首先我点击那个绿色的小图标,如下图:

点击后会弹出一个大的页面,然后找到Device->StdPeriph Drivers。如下图:

点开StdPeriph Drivers选项的加号图标,就可以看到st库目录下各外设的驱动文件,后面是他的版本说明,这是V1.3版本的,是比较新的,建议大家尽量使用新的库。
我这里就勾上了所有外设的驱动的文件,如下图:

然后点击OK后,就可以看到原先工程目录下的Device添加了刚才选择外设的驱动文件。添加完后大家不要急着编译工程,还有对工程进行相关的配置,否则如下图,编译不成功的:

接下来,我来配置下工程,右击target,然后进入配置工程的面板,步骤如下:

这里要填上USE_STDPERIPH_DRIVER,这就表明编译器选择了st

然后我们来指定编译器头文件的路径

以上这两个路径是编译器编译时要找的路径,这几个头文件至关重要,这里编译器关联头文件所需要的。

当做完以上工作后,我们就可以来编译一下工程,在编译时,编译器就会根据我们的配置来编译驱动头文件和驱动的C文件。如下图:

当编译成功后会出现以下的信息:

下面我们要看看新的stm32f4xx_conf.h里的内容吧,如下图:

可以看出这跟旧版本的stm32f4xx_conf.h文件有些区别,在每个头文件这里多了个条件编译,
大家可以理解成开关吧,就是用来选择编译头文件用的,而这些开关都在RTE_Components.h这个头文件里,如下图:

编译完成后,可以看出main.c里包含了各驱动库的头文件,如下图:

做完以上工作后,我们就建好了一个基于库函数的模板了。
当大家编译完工程后,会发现工程目录里多出了好多文件,这是正常的,这是编译后产生的文件,如下图:

先把原来的产生的文件删除掉,删除后如下图:

现在我教大家怎样把这些文件指定每次编译后生成在指定的地方。
步骤如下:
首先还是进入工程配置的选项面板,然后在自己的工程目录里新建一个Output的文件,然后点击去,再点击OK,这样就代表告诉编译器器每次编译后生成的文件都会放在这个文件夹里。

这个跟上面的一样配置。

做好这些工作后,就可以编译工程了,编译完后生成的文件会保存在自己指定的那两个文件,如下图:

这样工程目录下的结构就清爽多了。


KEIL 5快速建工程模板.zip (67.23 KB)

作者简介

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 编译器也要通吃吗?
5
mmuuss586| | 2014-8-23 12:59 | 只看该作者

支持楼主分享;
有空整理个PDF文档啊

使用特权

评论回复
6
强仔00001|  楼主 | 2014-8-23 15:55 | 只看该作者
icecut 发表于 2014-8-23 11:42
搞电子,千万不要有个人喜好.要通吃.否则,你会遇到很多麻烦.

其实我也用过IAR的,之前用MSP430和飞思卡尔的k60就用IAR的,这次听你的

使用特权

评论回复
7
强仔00001|  楼主 | 2014-8-23 15:57 | 只看该作者
mmuuss586 发表于 2014-8-23 12:59
支持楼主分享;
有空整理个PDF文档啊

我每次都是会写个word文档的

使用特权

评论回复
8
gxliu08| | 2014-8-23 20:43 | 只看该作者
谢谢分享

使用特权

评论回复
9
tangqilin324| | 2014-8-24 12:22 | 只看该作者
谢谢分享~~

使用特权

评论回复
10
强仔00001|  楼主 | 2014-8-24 17:29 | 只看该作者
tangqilin324 发表于 2014-8-24 12:22
谢谢分享~~

多谢支持

使用特权

评论回复
11
hqtdzgs| | 2014-8-25 11:29 | 只看该作者
我在 MDK5.1,学习一下

使用特权

评论回复
12
tuzihog| | 2014-8-25 11:59 | 只看该作者
关注一下

使用特权

评论回复
13
双壳蜗牛| | 2014-8-25 21:55 | 只看该作者
学习一下。

使用特权

评论回复
14
数码小叶| | 2014-8-26 09:09 | 只看该作者
我想请教一下,为什么keil5里面没有三星的器件呢?器件明显没keil4多啊

使用特权

评论回复
15
强仔00001|  楼主 | 2014-8-26 23:59 | 只看该作者
数码小叶 发表于 2014-8-26 09:09
我想请教一下,为什么keil5里面没有三星的器件呢?器件明显没keil4多啊

这个我不清楚。以前没用过三星的,器件明显是没keil4多,你可以上ST官网有没有提供芯片的支持包

使用特权

评论回复
16
xianstm32| | 2014-8-27 07:14 | 只看该作者
这个很不错,一步一步很详细,强子有空再做个KEIL ARM  mdk v5.1  环境下stm32f4 流水灯的教程。

使用特权

评论回复
17
STM32初学者| | 2014-8-30 08:48 | 只看该作者
给强仔顶起,建议一张图片放一层楼,这样刷新快,我半天没刷出来

使用特权

评论回复
18
zale1204| | 2014-8-30 09:01 | 只看该作者
技术贴,支持。。。还没有用过keil5...

使用特权

评论回复
19
grace75| | 2014-8-30 10:19 | 只看该作者
顶起,入门必备

使用特权

评论回复
20
wangdezhi| | 2014-8-30 10:49 | 只看该作者
好教材呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

799

帖子

8

粉丝