[信息] STM32固件库介绍

[复制链接]
1894|0
 楼主| tpgf 发表于 2024-6-14 12:00 | 显示全部楼层 |阅读模式
1.CMSIS标准
CMSIS(Cortex Microcontroller Software Interface Standard)是ARM Cortex微控制器软件接口标准
CMSIC统一各个厂家的固件库函数的名称(比如系统初始化必须使用system_init函数),强制所有的使用Cortex和设计的厂商它内部的固件库各种初始化操作必须使用这些名字不能修改
CMSIS处于中间层,向上提供给用户程序和实时操作系统,向下负责和我们的内核以及其他的外设进行通信
CMSIS的核心层又分为三个基本功能层:
内核外设函数层:定义处理器内部的寄存器地址以及功能的函数
中间件函数层:定义了访问中间件的通用API(由ARM公司提供,芯片厂商根据需要来更新)
器件级外设函数层:定义的是硬件的寄存器地址以及外设的访问函数(比如ST公司它的固件库的外设驱动文件对GPIO的操作)

45529666bc06393b4c.png

存放固件库的文件:

32645666bc05b5ba19.png

_htmresc存放**
Libraries有两个子目录

20832666bc0532faf5.png

CMSIS用于存放符合CMSIS标准的文件,包含了STM32的启动文件、ARM的Cortex内核文件、以及对外设的一些头文件
STM32F10x_StdPeriph_Driver用于存放STM32外设驱动文件,内有inc、src文件夹

CM3

82868666bc04b867f4.png

CM3包含两个文件夹:
一个内核支持文件CoreSupport,所有使用m3内核的芯片的内核文件都是相同的,用户不需要去更改
一个设备支持文件DeviceSupport

81227666bc0427afbc.png

使用的是ST公司10x系列

38104666bc03a68cf9.png

对应的stm32系统文件
stm32f10x.h存放stm32f103相关寄存器的封装

7969666bc033372c5.png

不同编译器的启动文件(我们使用的是keil5,所以使用arm编译器)

22794666bc0238bcd0.png

使用低端、中端、高端的芯片

53759666bc01aa4c09.png

STM32F10x_StdPeriph_Driver
包含了STM32所有外设
inc用于存放外设头文件
src用于存放外设源文件

在移植固件库的时候Library是重点

project
存放STM32的外设例程
Examples提供外设驱动例程,ST提供了外设的封装文件,给了demo可以查看如何运行来调用API的,如果不了解外设使用的时候可以参考官方例程
Template用于存放官方固件库工程模板

48985666bc009a0f13.png

###Utilities
存放官方评估版的源文件

15280666bbfffc8610.png

stm32f10x_stdperiph_lib_um.chm

81055666bbff9709b3.png

固件库的帮助文档
在后面学习库函数的时候非常有帮助

2.库目录及文件介绍

77471666bbfe922537.png


————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_43005445/article/details/139609710

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17635

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部