Stm32 固件库介绍及获取方法 | 学习笔记

简介: 快速学习 Stm32 固件库介绍及获取方法

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:Stm32 固件库介绍及获取方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11145


Stm32 固件库介绍及获取方法

stm32 开发的方法。固件库,是官方给开发人员一套接口,官方为了让用户能够快速的在平台上做产品开发。比如意法半导体,是中国内地为了推广,出了中文手册。都知道平时开发时,尤其是做这种底层的单片机驱动开发。要用某一个芯片模块,手册是没有中文的,就算是用的芯片是国产的,公开的数据手册也是英文的,因为一般都要走国际市场。意法半导体对中国市场很重视,有很多的代理商,还会去大学里面演讲,推广芯片。

重点:

stm32 开发方法:

1、基于寄存器操作2、基于固件库3、基于 HAL。

先讲 HAL 比固件库还要简单,因为抽象,离硬件更遥远一些;固件库,是 stm32 标准的外设函数库,简称为固件库,特点就是提供了众多功能接口,还有很多数据结构,结构体和一堆宏,这些结构体和宏和函数涵盖了微控制器的几乎所有的外设操作,的特征控制,每个外设都提供了一些案例,还为上层开发提供了统一的底层API 接口。不需要关注计算器的配置细节,硬件的这些细节,硬件的原理可以了解不用深入知道每一个功能在接收器里面对应的哪个位,除非要进行深度的定制开发,或者说对固件库有一些特殊的应用。所以缩短了开发周期,降低开发成本。特别容易进行二次开发。因为有了固件库,使得代码在同样的平台下移植维护升级也变得很方便。

对于固件库,可以有至少两种获取方法,由于芯片是来自于 ST 意法半导体,所以可以通过直接上意法半导体的官网下载,意法半导体对内地市场很重视,官网看也是中文的界面。进了之后直接就定位到的固件库的标准,外设固件库的下载。

image.png

选择一下芯片是属于哪个系列的。用的是 F1 系列的进入,首先出现的是标准外设固件库的下载链接,3.5.0 的版本获取软件给下载。

image.png

相关资料下了一样的版本。除了固件库还提供一些工具和软件,

image.png

还有数据手册 PDF 的,宣传资料。然后解压出来有几个文件有详细的解释,

image.png

分别代表 Logo、库、例子、公版的代码、说明文档。库里面有硬件抽象层,如果要硬件操作系统,就要了解这里面的接口,库,提供了很多,不是以二进制方式给的,单片机更适合给二进制,因为单片机的架构,比如用的是意法半导体,架构是固定的,比如利纳系统开发,二进制反而很麻烦,arm 架构、mix 架构都不一定,所以本应该提供二进制,但是给的是源码,方便了的开发和修改库。另外 Project里提供了很多的例子,几乎每一个外设都有例子。template 是一个模板,说明如果要开发 sm32,应该怎么开发,怎么建工程,工程建好了之后如何做的每一个模块的开发。很少有人买公版,顶多就是申请样片。因为公版不便宜,一般就自己做一个板子。开发的时候主要用 libraries。

image.png

还有一种获取方法,开发工具用的是 Keil,可以到的 Keil 的官网下载 Keil 所提供的所有的相关的工具的库的支持。

image.png

如上图 Keil 的官网,选择产品,选择 arm 开发平台工具,找到软件包里面有一个叫public, 是基于 mdk5 的软件包,还要下载一个 mdk5Keil 软件。有很多的平台软件的支持,找到 Keil 的地方,继续找芯片意法半导体的公司,找意法半导体的stm32f1 系列,

image.png

点开有很多版本,是 stm32f1xx2.3.0pack,还可以翻其它版本,下 2.0.0,然后点download。不同的系列,要下载不同的包。下完有四五十兆,双击安装。

image.png

意法半导体的官网下载的包不需要安装,因为下来之后是源代码,上图包需要安装因为包主要是为了配合 Keil 软件,安装到 Keil 软件的安装目录,双击就会弹出安装路径,路径是不能修改的,直接装到了的 Keil 软件的相关目录。如ststem(c)/Keil_v5/ARM/pack/Keil 里面装的很多系列包。

image.png

包的源代码在 device 里有系统所需要的启动文件和核心文件,还有头文件,真正的库在 /inc/ 是标准外围库的头文件,/src/ 是源代码。跟刚才从意法半导体所下载的源代码基本上是一样的。来自于同一家,只是在不同的平台获得。

Keil 软件、厂商提供的模板、部件库的手册,里面就没有太多的例子,因为主要是工具平台。建议下载意法半导体,里面的东西比较多,有一些例子可以在这里面直接参考,这就是固件库获得。

相关文章
|
6月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
467 2
|
5月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
758 0
|
6月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
529 4
|
6月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
767 2
|
6月前
|
存储 数据采集 数据安全/隐私保护
使用STM32F103读取TF卡并模拟U盘:使用标准库实现
通过以上步骤,你可以实现用STM32F103将TF卡内容变成U盘进行读取。这种功能在数据采集、便携式存储设备等应用中非常有用。如果你有更多的需求,可以进一步扩展此项目,例如添加文件管理功能、加密存储等。希望这篇博客能帮到你,如果有任何问题,欢迎在评论区留言讨论!
257 1
|
5月前
stm32f407探索者开发板(十三)——JLINK在线调试_软件调试_方法与技巧
stm32f407探索者开发板(十三)——JLINK在线调试_软件调试_方法与技巧
331 0
|
5月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
188 0
|
6月前
|
移动开发
技术好文:stm32寄存器版学习笔记06输入捕获(ETR脉冲计数)
技术好文:stm32寄存器版学习笔记06输入捕获(ETR脉冲计数)
289 0
|
7月前
|
传感器
STM32标准库ADC和DMA知识点总结-1
STM32标准库ADC和DMA知识点总结