STM32中HAL库和标准库的区别
2024-09-08 13:44:42
转载自:https://www.lmonkey.com/t/RwykY8bBX
STM32标准库与HAL库比较
ST为开发者提供了非常方便的开发库。到目前为止,有标准外设库(STD库)、HAL库、LL库 三种。
其中标准库与HAL库最常用,LL库只是最近新添加的。
标准外设库(Standard Peripherals Library)是对STM32芯片的一个完整的封装,包括所有标准器件外设的器件驱动器。这应该是目前使用最多的ST库,几乎全部使用C语言实现。但是,标准外设库也是针对某一系列芯片而言的,没有可移植性。
HAL库与新增的LL库,都是ST公司提供的新标准库,包含在ST为新的标准库注册了一个新商标:STMCube当中。LL库和HAL库两者相互独立,只不过LL库更底层。而且,部分HAL库会调用LL库(例如:USB驱动)。同样,LL库也会调用HAL库。
可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了,比如F7系列。现在,ST主推HAL库,目前,HAL库已经支持STM32全线产品。
比较:
新芯片现在只推出HAL库,HAL库与标准库比较,所用的API函数不一样,两者也相互独立,优势在于可以用cubeMX生成代码。(ST专门为其开发了配套的桌面软件STMCubeMX,开发者可以直接使用该软件进行可视化配置,大大节省开发时间。)
最新文章
- EF CodeFirst EntityTypeConfiguration 自关联映射配置
- [moka同学笔记]关于api-ms-win-crt-runtimel1-1-0.dll缺失
- asp.net应用程序生命周期
- Linux下使用USB模拟ACM串口设备
- Spring day01
- input中的id和name
- RunAsAdmin in windows 8
- 传输层socket通讯之java实现
- 【刷水】之USACO2008资格赛(Bzoj1599-1603)
- mysql千万级大数据SQL查询优化30条经验
- Laravel Scout 开启队列, 自定义queue name和queue connection
- C++常用代码优化策略
- redis跳跃表
- xutils android studio引用问题
- oracle ORA-20011: Approximate NDV failed: ORA-29913: error in executing ODCIEXTTABLEOPEN callout
- [LeetCode&;Python] Problem 404. Sum of Left Leaves
- [cocos2d-x]游戏开发基础(图)
- ConcurrentMap与CopyOnWrite容器
- RegExp,实现匹配合法时间(24小时制)的正则表达式
- 检查本机显卡的cuda信息及适配cuda-sdk版本