微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32根据库建立自己的工程

STM32根据库建立自己的工程

时间:11-27 来源:互联网 点击:
利用STM32的官方库在Keil uVision 4中新建一个工程的步骤:

一.新建工程时的软件操作,工程配置方法:

1.点击菜单栏的Project→NewuVision Project,新建一个工程文件,取名,设置好保存路径后,点击“保存”即可。

2.接着弹出一个对话框,选择芯片型号,我们用的是ST公司的STM 32F103VE,选择该芯片,点击“OK”即可。

3.接着弹出的对话框,如下,问我们是否要拷贝STM 32的启动代码到工程文件中,这份启动代码在M 3系列中都是适用的,我们可以点击“是”。但是,这里用ST的固件库创建工程,库里面也有启动代码文件,为了保持库的完整性,我们就不需要开发环境自带的启动代码了,稍后,我们手动添加,所以这里,我们点击“否”。

4.此时,已经新建了一个工程,但是,里面还没有我们所需的文件,接下来,就该添加所需文件了。在工程的根目录(即,保存工程的文件夹下)新建以下3个文件夹,User,FWlib,CMSIS。User用来存放工程文件和用户代码,包括主函数main.c。FWlib用来存放固件库里面的inc和src这两个文件夹以及它们里面的所有文件,这里面包含了芯片上的所有外设的驱动。CMSIS用来存放固件库的启动文件,和,M 3系列通用的文件。CMSIS里面的文件适合所有M 3内核的单片机。CMSIS的缩写为,Cortex Microcontroller Software Interface Standard,是ARM Cortex微控制器软件接口标准,是ARM公司为芯片厂商提供的一套通用的且独立于芯片厂商的处理器软件接口。

5.把固件库的Libraries STM32F10x_StdPeriph_Driver目录下的inc和src这两个文件夹复制到刚才新建的FWlib文件夹中。

6.把固件库的Project STM32F10x_StdPeriph_Template目录下的main.c,stm32f10x_conf.h,stm32f10x_it.h,stm32f10x_it.c复制到User文件夹下。main.c也可以不复制,稍后,自己新建一个main.c文件在User文件夹下,也可以。stm32f10x_it.h,stm32f10x_it.c这两个文件里面是中断函数,里面为空,用户需要时,可以自己添加中断服务程序。stm32f10x_conf.h是需要用户配置的头文件,当我们需要用到芯片中某部分外设的驱动时,只需要在该文件中把相应注释标记去掉,即可,这样就可以把相应头文件包含进来了。片上外设的驱动在Libraries STM32F10x_StdPeriph_Driver目录下的src文件夹中,它们的头文件在inc文件夹中。

7.将固件库的Libraries CMSIS Core CM3文件夹下的全部文件和文件夹复制到刚才新建的CMSIS文件夹中,Startup / arm目录下一般有三个启动文件,分别为,startup_stm32f10x_ld.s,startup_stm32f10x_md.s,startup_stm32f10x_hd.s,按顺序是小,中,大容量Flash单片机的启动文件。我们这里用的是STM32F103VE有512 K Flash,属于大容量的。所以,稍后,把startup_stm32f10x_hd.s添加到我们的工程中。不同大小的Flash对应的启动文件不同,这点要注意。

8.最后,可以把我们的工程文件,和,其它一些编译产生的文件都放在User文件夹下,这样,看起来比较整洁。

9.回到Keil软件的工程中,鼠标右击“Target”,在弹出的菜单中选择“Add Group”选项,新建4个分组。分别命名为,STARTCODE,USER,FWlib,CMSIS。STARTCODE管理启动代码,USER管理用户自定义的应用程序,FWlib管理库文件,CMSIS管理M 3系列单片机通用的文件。

10.下面,往这些新建的组里面添加文件。双击哪个组,就可以往哪个组里面添加文件。(往组里面添加文件,和刚才在工程保存目录下面建立的文件夹没有任何关系,它们是独立的,互不影响。设置组,只是为了方便工程管理。)在STARTCODE里面添加Startup / arm目录下的startup_stm32f10x_hd.s文件,

在USER组里添加main.c,stm32f10x_it.c这两个文件。在FWlib组里面添加src里面的全部驱动文件。当然,src里面的驱动文件,也可以需要哪个就添加哪个,这里全部添加,是为了后续开发的方便。并且,我们可以通过配置stm32f10x_conf.h文件来选择性添加,只有在stm32f10x_conf.h中被配置的文件才会被编译。


●注意,在组里面添加的,都是汇编文件和C文件(即,以.s和.c为后缀的文件),即,都是源程序文件(可能还有其它类型的文件,但是,都必须是源程序文件),并且,一般地,所有源程序文件都必须添加到组里面才行。但是,头文件是不需要添加到组里面的。

●注意:往组里面添加源程序文件很重要。如果,少添加一个源程序文件,编译器就找不到该源程序文件了,很有可能编译会出错。

11.接下来,需要对工程进行一些设置。点击工具栏中

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top