如何在CubeMX STM32中使用LL(低级)驱动程序?

12
我正在使用STM32CubeMX为STM32F103微控制器创建一个空白项目。使用HAL驱动程序(默认设置),我很快就得到了一个闪烁的示例,但我想尝试LL(低级别)驱动程序而不是HAL驱动程序。
当我在CubeMX中转到“项目>设置>高级设置”时,我看到了列出的外设,并且每个外设旁边都有一个下拉菜单,只有一个选项HAL。根据文档,这是我可以为每个外设选择LL或HAL的地方。
如何在STM32CubeMX中启用LL驱动程序?
细节:我在Ubuntu(16.04)上干净安装了STM32CubeMX(4.23.0),并为STM32F103C8微控制器(这是一个“Blue Pill”板)创建了一个新项目。我使用SW4STM32 IDE,除了必须在配置文件中选择STLink V2而不是V2.1之外,一切都比较顺利。

1
使用裸寄存器。忘记那些 ll 库吧。你不需要启用任何东西,只需使用 ll 函数。 - 0___________
如果涉及到F0系列,STM32CubeMX手册中的这些信息是不正确的。我能够为STM32F030F4P6(另一款廉价MCU)生成LL驱动程序。 - Bogdan Golab
1
请检查最新的Cube更新,现在启用了F1的LL支持。 - Almaz
2个回答

10

将HAL更改为LL:

  1. 项目经理
  2. 高级设置
  3. 在驱动程序选择器中,将HAL更改为LL(适用于所需外设)

LL selection


虽然并没有列出每个外设。例如,外部中断驱动程序没有列出,因此无法设置为“LL”,即使在驱动程序文件夹中存在stm32g4xx_ll_exti.h - DarkFranX

8
目前(STM32CubeMX v4.23.0版本),LL驱动仅适用于L1、L4、F2、F4、F7系列。请参阅第6.2章“使用Low Layer驱动程序生成STM32Cube代码”。 对于STM32L1、STM32L4、STM32L4+、STM32F2、STM32F4和STM32F7系列,STM32CubeMX允许基于外设HAL驱动程序或外设Low Layer (LL)驱动程序生成外设初始化代码。 http://www.st.com/content/ccc/resource/technical/document/user_manual/10/c5/1a/43/3a/70/43/7d/DM00104712.pdf/files/DM00104712.pdf/jcr:content/translations/en.DM00104712.pdf

2
随着最新的Cube更新,ST也为F1系列带来了LL库支持。 - Almaz
至少在4.25.1版本中,我还可以为L0系列MCU生成LL初始化。 - vanthome

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接