OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 强仔教你玩stm32f401 Necleo之利用 KEIL 5帮你快速建工程模板

共14条 1/2 1 2 跳转至

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

菜鸟
2014-08-16 14:57:02    评分

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

         今天外我来教大家来怎么使用这个建工程的利器吧。

首先是新建工程吧,如下图步骤:

配置1

配置2

配置3


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


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


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


然后在你工程的路径新建一个USE(这个大家可以随便建个文件,不一定是USE名字的)的文件夹,然后在里面新建一个main.c的文件,如下图:



然后新建的文件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,这样就代表告诉编译器器每次编译后生成的文件都会放在这个文件夹里。



这个跟上面的一样配置。




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




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



作者简介


论坛名:强仔00001


自我介绍:我是五邑大学信息学院通信工程的本科二年级在读,喜欢研究硬件电路、软件编程。


能熟练运用Altium designer 09 ,会pads 9.5和candence 16.6。开发过TI的MSP430和C2000,freescale的K60,ST等公司的芯片,对 软件和硬件有很大的兴趣。希望能多认识一些有共同兴趣的朋友。


QQ:963775289






关键词: stm32f401 Nucleo     KEIL 5    

院士
2014-08-17 21:02:59    评分
2楼
超赞,这已经是第四部了吧?

助工
2014-08-18 14:29:06    评分
3楼
看来很快就升三年级了

菜鸟
2014-08-19 00:29:43    评分
4楼
差不多吧,后面还有

菜鸟
2014-08-19 00:30:31    评分
5楼
对的,快了

专家
2014-08-21 07:35:36    评分
6楼
帖子很是用心嘛

工程师
2014-08-21 13:29:35    评分
7楼
记着在主函数最后加一个回车,不然有可能你再编译都会出现一个警告,你还不知道那块问题

菜鸟
2014-08-21 14:33:10    评分
8楼
早就知道了,每次都忘记加了

菜鸟
2014-08-21 14:33:35    评分
9楼


高工
2014-12-26 21:34:22    评分
10楼
5.13版本照着楼主的根本完不成

共14条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]