目前已知st的库有四种,分别是:
1、STM32Snippets
2、Standard Peripheral Library
3、STM32Cube HAL
4、STM32Cube LL
一、STM32Snippets为高度优化的寄存器操作的集合。占用内存小,适合喜欢底层开发的人员使用,目前只有STM32F0和L0的示例代码包。
二、Standard Peripheral Library,即SPL,也叫标准外设库,也有称STD库的,一般老的的开发人员,都用的是这个库,这是目前用的最多,最熟悉的包,主要面对的是面向过程的开发人员使用。但后面ST公司不会再维护了,对于新出的芯片,此库不支持。
三、STM32Cube HAL,即Hardware Abstraction Layer,硬件抽象层库,配合STM32CubeMX工具对STM32进行开发,针对的是具有一定嵌入式基础的开发人员,HAL具有很好的移植性。
四、STM32Cube LL,简称LL,即Low-Layer,底层库,配合STM32CubeMX工具对STM32进行开发,具有简单的结构,针对之前从事SPL,或寄存器开发的人员。
HAL 和 LL是目前官方重点维护和更新的库,结合其工具,是后面发展的方向。
针对这四种库的对比:
库名称 | 可移植性 | 优化 | 难易度 | 可读性 | 硬件覆盖 |
---|---|---|---|---|---|
Snippets | +++ | + | |||
SPL | ++ | ++ | + | ++ | +++ |
HAL | +++ | + | ++ | +++ | +++ |
LL | + | +++ | + | ++ | ++ |