开发者学堂课程【嵌入式之 RFID 开发与应用2020版:Stm32 固件库介绍及获取方法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/665/detail/11145
Stm32 固件库介绍及获取方法
stm32 开发的方法。固件库,是官方给开发人员一套接口,官方为了让用户能够快速的在平台上做产品开发。比如意法半导体,是中国内地为了推广,出了中文手册。都知道平时开发时,尤其是做这种底层的单片机驱动开发。要用某一个芯片模块,手册是没有中文的,就算是用的芯片是国产的,公开的数据手册也是英文的,因为一般都要走国际市场。意法半导体对中国市场很重视,有很多的代理商,还会去大学里面演讲,推广芯片。
重点:
stm32 开发方法:
1、基于寄存器操作2、基于固件库3、基于 HAL。
先讲 HAL 比固件库还要简单,因为抽象,离硬件更遥远一些;固件库,是 stm32 标准的外设函数库,简称为固件库,特点就是提供了众多功能接口,还有很多数据结构,结构体和一堆宏,这些结构体和宏和函数涵盖了微控制器的几乎所有的外设操作,的特征控制,每个外设都提供了一些案例,还为上层开发提供了统一的底层API 接口。不需要关注计算器的配置细节,硬件的这些细节,硬件的原理可以了解不用深入知道每一个功能在接收器里面对应的哪个位,除非要进行深度的定制开发,或者说对固件库有一些特殊的应用。所以缩短了开发周期,降低开发成本。特别容易进行二次开发。因为有了固件库,使得代码在同样的平台下移植维护升级也变得很方便。
对于固件库,可以有至少两种获取方法,由于芯片是来自于 ST 意法半导体,所以可以通过直接上意法半导体的官网下载,意法半导体对内地市场很重视,官网看也是中文的界面。进了之后直接就定位到的固件库的标准,外设固件库的下载。
选择一下芯片是属于哪个系列的。用的是 F1 系列的进入,首先出现的是标准外设固件库的下载链接,3.5.0 的版本获取软件给下载。
相关资料下了一样的版本。除了固件库还提供一些工具和软件,
还有数据手册 PDF 的,宣传资料。然后解压出来有几个文件有详细的解释,
分别代表 Logo、库、例子、公版的代码、说明文档。库里面有硬件抽象层,如果要硬件操作系统,就要了解这里面的接口,库,提供了很多,不是以二进制方式给的,单片机更适合给二进制,因为单片机的架构,比如用的是意法半导体,架构是固定的,比如利纳系统开发,二进制反而很麻烦,arm 架构、mix 架构都不一定,所以本应该提供二进制,但是给的是源码,方便了的开发和修改库。另外 Project里提供了很多的例子,几乎每一个外设都有例子。template 是一个模板,说明如果要开发 sm32,应该怎么开发,怎么建工程,工程建好了之后如何做的每一个模块的开发。很少有人买公版,顶多就是申请样片。因为公版不便宜,一般就自己做一个板子。开发的时候主要用 libraries。
还有一种获取方法,开发工具用的是 Keil,可以到的 Keil 的官网下载 Keil 所提供的所有的相关的工具的库的支持。
如上图 Keil 的官网,选择产品,选择 arm 开发平台工具,找到软件包里面有一个叫public, 是基于 mdk5 的软件包,还要下载一个 mdk5Keil 软件。有很多的平台软件的支持,找到 Keil 的地方,继续找芯片意法半导体的公司,找意法半导体的stm32f1 系列,
点开有很多版本,是 stm32f1xx2.3.0pack,还可以翻其它版本,下 2.0.0,然后点download。不同的系列,要下载不同的包。下完有四五十兆,双击安装。
意法半导体的官网下载的包不需要安装,因为下来之后是源代码,上图包需要安装因为包主要是为了配合 Keil 软件,安装到 Keil 软件的安装目录,双击就会弹出安装路径,路径是不能修改的,直接装到了的 Keil 软件的相关目录。如ststem(c)/Keil_v5/ARM/pack/Keil 里面装的很多系列包。
包的源代码在 device 里有系统所需要的启动文件和核心文件,还有头文件,真正的库在 /inc/ 是标准外围库的头文件,/src/ 是源代码。跟刚才从意法半导体所下载的源代码基本上是一样的。来自于同一家,只是在不同的平台获得。
Keil 软件、厂商提供的模板、部件库的手册,里面就没有太多的例子,因为主要是工具平台。建议下载意法半导体,里面的东西比较多,有一些例子可以在这里面直接参考,这就是固件库获得。