《野火STM32F407 霸天虎版》学习笔记——第10章 初识STM32固件库


前言

博主在自学嵌入式开发工程师的学习道路上,先是学完了C语言和51单片机,现在马不停蹄地开始了学习STM32的过程。入手的STM32单片机是STM32F407这款芯片,这是一个资深的嵌入式开发工程师推荐的芯片,并且学习了野火的相关教程。一开始凭着51的基础,博主感觉STM32还比较上手,但到了固件库编程方面,便学起来有些吃力,于是从本章开始,博主将会对在STM32学习过程中比较吃力的点做一个记录。

我们所提到的固件库即为ST 公司提供的标准软件库,包含了 STM32 芯片所有寄存器的控制操作,我们可以通过直接学习如何使用 ST 标准库,即固件库,会极大地方便控制 STM32 芯片。接下来
我们简单的分析下 ST 官方的固件库的组成部分。


一、CMSIS 标准及库层次关系

1.CMSIS标准

STM32F407是一款基于Cotex系列的芯片,Cotex系列的芯片所采用的内核是相同的,区别主要是在核外的片上外设的差异。这些差异导致不同外设间的芯片移植起来十分困难。为了解决不同的芯片厂商生产的Cotex微控制器软件的兼容性问题,ARM与芯片厂商建立了CMSIS标准。

CMSIS架构如下:
在这里插入图片描述
CMSIS标准中最主要的是CMSIS核心层,它包括了:
·内核函数层:其中包含了用于访问内核寄存器的名称、地址定义。
·设备外设访问层:提供了片上的核外外设的地址和中断定义。

可见CMSIS层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,按照CMSIS标准即可建立起STM32的固件库。

2.重要的库文件

1.core_cm4.c

2.system_stm32f4xx.c 文件
这个文件包含了STM32芯片上后初始化系统时钟、扩展外部存储器的函数。

3.启动文件
“strartup_stm32f40xx.s”即为 STM32F407 芯片的启动文件。

4.stm32f4xx.h 文件
这是一个 STM32 芯片底层相关的文件,包含了STM32中所有的外设寄存器地址和结构体类型定义。

5.STM32F4xx_StdPeriph_Driver 文件夹下有 inc跟 src这两个文件夹当中的文件
src 里面是每个设备外设的驱动源程序,inc 则是相对应的外设头文件。这两个文件夹当中的文件都是ST 公司针对每个 STM32 外设而编写的库函数文件,例如stm32f4xx_gpio.c 及 stm32f4xx_gpio.h 文件针对的就是gpio外设。这两个文件夹中,还有一个很特别的 misc.c 文件,这个文件提供了外设对内核中的 NVIC(中断向量控制器) 的访问函数,在配置中断时,我们必须把这个文件添加到工程中。

6.stm32f4xx_it.c
这个文件是专门用来编写中断服务函数的,在我们修改前,这个文件已经定义了一些系统异常 (特殊中断) 的接口,其它普通中断服务函数由我们自己添加。

7.stm32f4xx_conf.h
这个配置文件管理inc和src下的所有文件,并被包含在stm32f4xx.h文件当中,可以根据芯片型号增减 ST 库的外设文件。

3.库内各文件之间的关系

在这里插入图片描述

### 回答1: 野火STM32F407霸天虎是一种基于STM32F407芯片的开发板,霸天虎例程是该开发板的一套示例代码。 霸天虎例程包含了多个例子,覆盖了多个功能模块。例如:LED灯的控制、按键输入的检测、蜂鸣器的控制、ADC模数转换的实验、PWM输出的实验、定时器的使用等。 在野火STM32F407霸天虎例程中,用户可以根据自己的需求,选择相应的例程进行学习和应用。每个例程都有详细的代码注释,方便用户理解和修改。 野火STM32F407霸天虎例程的优势在于其丰富的功能和简单易用的操作。用户无需从零开始编写代码,只需要按照例程的要求连接硬件,然后将对应的例程下载到开发板上即可实现相应的功能。 除了例程本身,野火还提供了丰富的资料和技术支持,如开发板原理图、用户手册、视频教程等。这些资源对于初学者来说非常重要,能够帮助他们更好地学习和应用霸天虎例程。 总之,野火STM32F407霸天虎例程是一套功能强大、简单易用的示例代码,适用于学习STM32F407芯片和开发板的人群。无论是初学者还是有一定经验的开发者,都可以从中获得很多实用的知识和经验。 ### 回答2: 野火STM32F407霸天虎例程是针对野火开发板上的STM32F407芯片编写的一段示例代码。霸天虎野火公司为该开发板设计的一款功能强大的处理器模块。 野火STM32F407霸天虎例程提供了多种实用功能的示例代码,包括LED灯控制、按键输入、串口通信、PWM输出等。这些例程可以帮助开发者快速熟悉和上手野火开发板,并且可以作为开发基础,用于二次开发和调试。 例如,LED灯控制的例程可以通过修改代码中的参数来控制野火开发板上的LED灯的亮灭状态,可以用于验证开发板的硬件功能是否正常。按键输入的例程可以通过读取按键状态,实现按键事件的响应,例如控制电机的启动或停止等。串口通信的例程可以帮助开发者与外部设备进行数据交互,例如通过串口与电脑进行通信、发送调试信息等。PWM输出的例程可以生成特定的脉冲信号,用于控制伺服电机或产生PWM波形等。 野火STM32F407霸天虎例程在开发者社区中广泛使用,具有丰富的示例代码和详细的注释,方便开发者学习和理解。同时,野火还提供了相关的开发文档和技术支持,帮助开发者快速解决问题和进行开发工作。如果对例程中的代码有修改需求,开发者可以根据自己的需求进行二次开发,实现更加复杂的功能。 总之,野火STM32F407霸天虎例程是一段功能丰富、易于上手的示例代码,帮助开发者快速入门STM32F407开发板,并且可以作为开发基础和参考,用于二次开发和应用。 ### 回答3: 野火STM32F407霸天虎例程是针对STMicroelectronics公司推出的STM32F407核心板进行开发的一套示例程序。 该例程采用了野火提供的开发环境Keil5进行开发,可以通过野火官方网站下载源代码和相应的开发工具。 野火STM32F407霸天虎例程包含了一系列的示例程序,用于演示和说明STMicroelectronics STM32F407核心板的各种功能和特性。这些例程涵盖了从基本的GPIO控制、外部中断、定时器、PWM输出,到更复杂的USART、SPI、I2C、SD卡等外设的使用。 除了基本的外设操作示例,野火STM32F407霸天虎例程还提供了一些有趣的案例,如LED点阵显示、触摸屏控制、摄像头采集、音频播放等,帮助开发者更好地理解和应用该核心板。同时,这些案例程序也可以作为开发者学习和扩展的起点,根据自己的需求进行修改和优化。 野火STM32F407霸天虎例程是为了方便开发者快速上手STM32F407核心板而设计的,它提供了一种简单、直观的学习方式,通过代码实例的演示,帮助开发者深入了解STM32F407核心板的各项功能和使用方法。 总之,野火STM32F407霸天虎例程是一套详尽而实用的示例程序,适用于想要学习和开发STM32F407核心板的开发者,通过这些例程的学习和实践,可以更好地掌握和应用STM32F407的各种功能,提高开发效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值