什么是CMSIS || 标准库与HAL库
创作时间:
作者:
@小白创作中心
什么是CMSIS || 标准库与HAL库
引用
CSDN
1.
https://blog.csdn.net/m0_74156325/article/details/139973501
本文将介绍ARM Cortex-M处理器系列的CMSIS标准,以及STM32系列微控制器的标准库与HAL库的区别和特点。同时,还将详细解释STM32系列常用库文件的功能和作用,帮助开发者更好地理解和使用这些工具。
一、ARM(Cortex Microcontroller Software Interface Standard)
ARM Cortex™微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。
ARM 是一个做芯片标准的公司,它负责的是芯片内核的架构设计,而TI、ST这样的公司,他们是根据 ARM 公司提供的芯片内核标准设计自己的芯片。所以,任何一个做 Cortex-M3 芯片,他们的内核结构都是一样的,不同的是他们的存储器容量、片上外设 IO 以及其他模块的区别。
二、标准库与HAL库
1. 寄存器
- 寄存器众多,需要经常翻阅芯片手册,费时费力;
- 提供更大的灵活性,可以随心所欲达到自己的目的;
- 深入理解单片机的运行原理,知其然更知其所以然。
2. 标准库
- 将寄存器底层操作都封装起来,提供一整套接口(API)供开发者调用
- 每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx…之类的;
- 配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能;
- 大大降低单片机开发难度,但是在不同芯片间不方便移植。
3. HAL库(Hardware Abstraction Layer)
- ST公司目前主力推的开发方式,新的芯片已经不再提供标准库;
- 为了实现在不同芯片之间移植代码;
- 为了兼容所有芯片,导致代码量庞大,执行效率低下。
三、常见文件意义
- startup_stm32f102xb.s:启动文件,用于初始化硬件、设置堆栈和中断向量表,然后跳转到 C/C++ 的主程序入口点(main 函数)。
- stm32f1xx_it.c:中断服务例程文件,它包含了处理各种中断的 C 语言函数实现,例如定时器中断、外部中断等
- system_stm32f1xx.c:定义了系统初始化函数 SystemInit 和系统时钟更新函数 SystemCoreClockUpdate
- sm32f1xx_hal.c:HAL库初始化、系统滴答、HAL库延时等相关函数
- stm32f1xx_hal_cortex.c:内核通用函数定义和声明,如NVIC、MPU、系统软复位、Systick等,其实主要是对core_cm3.h 文件的相关函数再次封装。
- stm32f1xx.h:是所有F1系列的顶层头文件,通过条件编译来包含某个芯片的头文件,定义通用的枚举类型,定义通用的宏定义
- stm32f103xb.h:包含:中断编号定义、外设寄存器结构体类型定义、寄存器映射、寄存器位定义、外设判定
- stm32f1xx_hal_conf.h:HAL库的用户配置文件,用于裁剪HAL库、配置晶振参数等
- stm32hxx_hal_def.h:包含HAL库通用的枚举类型数据和宏定义
- stm32f1xx_hal_ppp.c:某任意外设驱动源码,PPP表示任意外设
- stm32f1xx_hal_ppp_ex.c:主要是存放外设的扩展(特殊)功能的驱动源码,PPP表示任意外设
热门推荐
虹吸壶和手冲壶的萃取原理和口感区别?虹吸与手冲咖啡的区别
手冲咖啡和虹吸式咖啡的区别:咖啡粗细及份量、水温及冲泡时间
阿托伐他汀为啥要换成瑞舒伐他汀?4种情况,分别举例说明
《归去来:不一样的陶渊明》归去来兮——还原一位“和旧说不同”、活在人间的陶渊明
从《延禧攻略》到《墨雨云间》,大女主复仇爽剧如何拿捏观众
低功耗蓝牙技术详解:原理、应用与发展趋势
领取失业金期间做兼职是否算再就业?专业律师详解
打了狂犬疫苗后要注意哪些方面
盗汗中医如何辨证论治
装修内行人才会告诉你的事,木地板和瓷砖到底哪个更好?
新楼开盘的条件及选房注意事项
股市交易时间和规则
编写简历如何将JPG图片转换为Word文档
【髂胫束摩擦综合征】一动膝外侧就痛?一篇文助你解决运动硬伤!
难以言表的痛-髂胫束摩擦综合征
员工讨论工资被开除合法吗?一文读懂职场权益与管理边界
小朋友呕吐、腹泻、发热?当心!别误以为是肠胃炎
灵芝孢子油与灵芝孢子粉:滋补保健用户如何区分这两者?
黄冈的发展前景如何?这种发展对当地居民有何影响?
止逆阀有什么作用,止逆阀的常见类型
土壤发白是什么原因?土壤盐碱含量怎么检测?
绿萝换盆换土全攻略(从土壤选择到操作技巧)
缺乏维生素B12怎么办
维生素B12可以长期吃吗
专家支招:眼睛酸涩疲劳这样缓解
新疆“三峡”大坝:缓解南疆四地州电力短缺,造福流域240余万人
庭前证据交换制度与诉讼效率
什么是输液港?-化疗神器
目标检测算法(Haar Cascades)
初中化学《空气》知识点汇总