首页 > 代码库 > STM32F1固件库文件讲解

STM32F1固件库文件讲解

1.文件目录

技术分享

(在cmd下用"cd 文件夹" 进入到要显示的文件夹,如cd d:\en.stsw-stm32054,然后输入tree 回车就会出现上图的目录结构)

Libraries 文件夹下面有CMSISSTM32F10x_StdPeriph_Driver两个目录, 其 中CMSIS目录下面是启动文件,STM32F10x_StdPeriph_Driver放的是STM32固件库源码文件。源文件目录下面的inc目录存放的是stm32f10x_xxx.h头文件,无需改动。src目录下面放的是stm32f10x_xxx.c格式的固件库源 码文件。每一个.c 文件和一个相应的.h 文件对应。这里的文件也是固件库的核心文件,每个外设对应一组文件。

Project 文件夹下面有两个文件夹。顾名思义, STM32F10x_StdPeriph_Examples 文件夹下面存放的 ST 官方提供的固件实例源码,在以后的开发过程中,可以参考修改这个官方提供的实例来快速驱动自己的外设,很多开发板的实例都参考了官方提供的例程源码,这些源码对以后的学习非常重要。 STM32F10x_StdPeriph_Template 文件夹下面存放的是工程模板。

Utilities 文件下就是官方评估板的一些对应源码,这个可以忽略不看。根目录中还有一个 stm32f10x_stdperiph_lib_um.chm 文件,直接打开可以知道,这是一个固件库的帮助文档,这个文档非常有用,只可惜是英文的,在开发过程中,这个文档会经常被使用到。

2.文件介绍

先看下图这个文件夹下的文件

技术分享

有两个文件

技术分享

这两个文件是CMSIS 核心文件,由ARM公司提供。对于使用STM32做开发的人来说永远不需要用这个文件。

再看下图这个文件夹

技术分享

有一个文件夹(startup)一个html文件以及三个文件

技术分享

其中system_stm32f10x.c 和对应的头文件 system_stm32f10x.h 文件的功能是设置系统以及总线时钟,这个里面有一个非常重要的 SystemInit()函数,这个函数在我们系统启动的时候都会调用,用来设置系统的整个时钟系统。
stm32f10x.h 这个文件就相当重要了,只要你做 STM32 开发,你几乎时刻都要查看这个文件相关的定义。这个文件打开可以看到,里面非常多的结构体以及宏定义。 这个文件里面主要是系统寄存器定义申明以及包装内存操作。

接下来再看startup文件夹,这个文件夹里面放的文件顾名思义是启动文件 ,里面有四个文件夹:

技术分享技术分享

arm文件下的文件

技术分享

这里之所以有 8 个启动文件,是因为对于不同容量的芯片启动文件不一样。对于 103 系列,主要是用其中 3 个启动文件:

技术分享

 

 

3.新建基于固件库的 MDK5 工程模板

1) 建立一个装所有工程的文件夹在建立工程之前,建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我建立一个文件夹为STM32Project

技术分享

 

2) 点击 MDK 的菜单: Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹STM32Project之下,在这个目录下面建立子文件夹 USER 

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

 

 

 

STM32F1固件库文件讲解