文档库 最新最全的文档下载
当前位置:文档库 › Stm32官方库包及项目创建教程

Stm32官方库包及项目创建教程

Stm32官方库包及项目创建教程
Stm32官方库包及项目创建教程

Stm32官方库包及项目创建教程

1.STM32 官方库包介绍

A.下面看看官方库包的目录结构:

Libraries 文件夹下面有CMSIS 和STM32F10x_StdPeriph_Driver 两个目录, 其中CMSIS 目录下面是启动文件,STM32F10x_StdPeriph_Driver 放的是STM32 固件库源码文件。

Project 文件夹下面有两个文件夹。STM32F10x_StdPeriph_Examples 文件夹下面存放的的ST 官方提供的固件实例源码, STM32F10x_StdPeriph_Template 文件夹下面存放的是工程模板。

Utilities 文件下就是官方评估板的一些对应源码,这个可以忽略不看。

-htmresc存放的是图片。

B.关键文件介绍:

core_cm3.c 和core_cm3.h 文件,是CMSIS 核心文件,提供进入M3 内核接口,对所有CM3 内核的芯片都一样。你永远都不需要修改这个文件。

system_stm32f10x.c 和对应的头文件system_stm32f10x.h 文件的功能是设置系统以及总线时钟,这个里面有一个非常重要的SystemInit()函数,这个函数在我们系统启动的时候都会调用,用来设置系统的整个时钟系统。

stm32f10x.h 这个文件就相当重要了,里面非常多的结构体以及宏定义。这个文件里面主要是系统寄存器定义申明以及包装内存操作。

startup 文件夹,这个文件夹里面放的文件顾名思义是启动文件。

startup_stm32f10x_ld.s:适用于小容量产品

startup_stm32f10x_md.s :适用于中等容量产品

startup_stm32f10x_hd.s:适用于大容量产品

启动文件主要是进行堆栈之类的初始化,中断向量表以及中断函数定义。启动文件要引导进入main 函数。

stm32f10x_it.c 里面是用来编写中断服务函数,stm32f10x_conf.h 文件打开可以看到一堆的#include,这里你建立工程的时候,可以注释掉一些你不用的外设头文件。

2.新建工程模板

1)在建立工程之前,这里我们建立一个文件夹为Template。

2)点击Keil 的菜单:Project –>New Uvision Project ,然后将目录定位到刚才

建立的文件夹

Template 之下,在这个目录下面建立子文件夹USER,然后定位到USER 目录下面,我们的工程文件就都保存到USER 文件夹下面。工程命名为Template,点击保存。

3)接下来会出现一个选择Device 的界面,就是选择我们的芯片型号。

4)接下来,我们在Template 工程目录下面,新建3 个文件

夹CORE, OBJ 以及STM32F10x_FWLib。CORE 用来存放核心文件和启动文件,OBJ 是用来存放编译过程文件,以及hex 文件,STM32F10x_FWLib 文件夹顾名思义用来存放ST 官方提供的库函数源码文件。已有的USER 目录除了用来放工程文件外,还用来存放主函数文件main.c,以及其他包括system_stm32f10x.c 等等。

5)打开官方固件库包,定位到我们之前准备好的固件库包的目

录:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面,将目录下面的src,inc 文件夹copy 到我们刚才建立的STM32F10x_FWLib 文件夹下面。

6)打开官方固件库包,定位到目录

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下面,将文件core_cm3.c和文件core_cm3.h 复制到CORE 下面去。然后定位到目录

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\S TM32F10x\startup\arm 下面,将里面startup_stm32f10x_hd.s 文件复制到

CORE 下面。

7)定位到目录:

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\S TM32F10x 下面将里面的三个文件stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,复制到我们的USER目录之下。然后将

STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面的 4 个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 复制到USER 目录下面。

8)下面我们将这些文件加入我们的工程中去。右键点击Target1,选择Manage

Components

9)Project Targets 一栏,我们将Target 名字修改为Template,然后在Groups 一

栏删掉一个SourceGroup1,建立三个Groups:USER,CORE,FWLIB。然后点击OK,可以看到我们的Target名字以及Groups 情况。

10)右键点击点击Tempate,选择选择Manage Components.然后选择需要添加文

件的Group,这里第一步我们选择FWLIB ,然后点击右边的Add Files, 定位到我们刚才建立的目录STM32F10x_FWLib/src 下面,将里面所有的文件选中(Ctrl+A),然后点击Add,然后Close.可以看到Files 列表下面包含我们添加的文件。我们的CORE 下面需要添加的文件为core_cm3.c,startup_stm32f10x_hd.s

11)在编译之前我们首先要选择编译中间文件编译后存放目录。

方法是点击魔术棒,然后选择“Output”选项下面的“Select folder for objects…”,然后选择目录为我们上面新建的OBJ 目录。

12)回到工程主菜单,点击魔术棒,出来一个菜单,然后点击c/c++选项.然后点

击Include Paths右边的按钮。弹出一个添加path 的对话框,然后我们将图上面的 3 个目录添加进去(\USER,\CORE, \STM32F10x_FWLib\inc)。

13)定位到c/c++界面,然后填写

“STM32F10X_HD,USE_STDPERIPH_DRIVER”到Define 输入框里面

相关文档