STM32F1固件库文件讲解

1.文件目录

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

Libraries 文件夹下面有CMSIS和STM32F10x_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,点击保存。

时间: 2024-10-13 00:43:52

STM32F1固件库文件讲解的相关文章

STM32Cube_FW_F4_V1.16.0固件库文件配置

启动文件:STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f429xx.s 外设寄存器定义文件:STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f429xx.h 系统初始化文件:STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\S

STM32F1固件库详解

掌握STM32的估计库的构成和每个库文件的作用,对我们使用库非常有帮助,我们这里以3.5版本的库来分析.按照内核和外设的关系,我把库分成两个部分:内核相关,处理器相关. _________________|跟CM3(内核)相关的|---------------------------------------------------------------------------------------------------------------------------------------

C语言头文件和库文件讲解:

.h为头文件,.c为源文件,其实两者都是代码,为什么要做这样的区分呢?主要有几点好处:一是头文件用于共享,只用一句#include就能包含,当然.c也可以包含:二是如果你要写库的话,可是你又不想暴露你的源代码,你可以把.c编译成.obj或是.lib发给别人用,然后把.h作为使用说明书.所以一般情况下,.h里面全部都是声明,.c里面全部都是实现,有了.h就可以编译,有了.lib或你的.obj就可以连接

在IAR(EWARM)中移植STM32固件库

一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries/stsw-stm32054.html 二.移植步骤 (1).首先建立一个C语言的main工

STM32 HAL固件库编程的文件构架

对于我这种以前只接触过51和AVR单片机编程的小菜来说,现在开始学习STM32的编程,对于函数的功能以及C语言的语法都还好理解,难的是它提供的那一套硬件抽象层(HAL)驱动是怎么和其他的东东搭配在一起组成一个又一个的工程. 首先上两张从ST官方提供的HAL固件库文档截图 从这两张图的话,能对它的构架看出个一二,下面稍稍具体一点分析 HAL固件库编程,它的文件组织大致分三个部分 - HAL驱动 - CMSIS驱动 - 用户编写程序 而假如你使用的是ST官网的开发板,那么你还有一套现成的驱动可供使用

第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列

第11章 ????GPIO输出-使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ? 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 利用库建立好的工程模板,就可以方便地使用STM32标准库编写应用程序了,可以说从这一章我们才开始迈入STM32开发的大门. LE

第9章 初识STM32固件库—零死角玩转STM32-F429系列

第9章 ????初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ? 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.<Cortex-M3权威指南>, STM32标准库帮助文档:<stm32f4xx_dsp_stdperiph_lib_um.chm>. 在上一章中,我们构建了几个控制GPIO外

第9章 初识STM32固件库

第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.<Cortex-M3权威指南>, STM32标准库帮助文档:<stm32f4xx_dsp_stdperiph_lib_um.chm>. 在上一章中,我们构建了几个控制GPIO外设的

第11章 GPIO输出—使用固件库点亮LED

第11章     GPIO输出-使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 利用库建立好的工程模板,就可以方便地使用STM32标准库编写应用程序了,可以说从这一章我们才开始迈入STM32开发的大门. LED灯