最新项目中需要使用 STM32L476 的片子。在选择片子时,资源的多少成为了一个比较重要的考量。在斟酌一番之后,我决定采用 LL 库来实现本次的功能。下面就以 STM32L476 为例来介绍一下 LL 库(low-layer drivers)。下面是ST 中文官网上一篇《关于ST库函数的代码性能对比》的文章中对比了各种库的性能的图示:

关于 ST 各种库的介绍,可以参见博文《STM32 之一 HAL库、标准外设库、LL库(STM32 Embedded Software)》
文档
LL 库一直是与 Cube HAL 库捆绑发布的。我们可以自己从 ST 官网下载对应的 Cube 包 STM32CubeL4 ,也可以直接在 CubeMX 中下载。对应的文档也是和 HAL 库在同一个文档中。名为 UM1884:Description of STM32L4/L4+ HAL and low-layer drivers,这里就不演示如何下载了。本次我们只需要关系文档中的 LL 库相关的章节即可。
简介
LL 库旨在提供快速轻巧的面向专家的层,其比 HAL 库更接近硬件。 与 HAL 相反,LL API 不是提供给优化访问不是关键功能的外围设备
STM32 LL库详解与移植实践
本文介绍了STM32的LL库,它是一个面向专家的、接近硬件的库,提供了快速轻巧的API。LL库通过静态内联函数直接操作寄存器,与HAL库不同,适用于对性能有高要求的场景。内容包括LL库的特点、文件结构、移植步骤,以及与HAL库的使用注意事项。手动移植LL库涉及复制库文件、用户层文件以及配置芯片类型、时钟源等。此外,文章还讨论了使用LL库的编程事项,强调了需要理解外设操作流程,因为LL库并未封装所有操作。
订阅专栏 解锁全文
2118

被折叠的 条评论
为什么被折叠?



