Как использовать LL (низкоуровневые) драйверы в CubeMX STM32?

Я создаю пустой проект для микроконтроллера STM32F103 с использованием STM32CubeMX. Используя драйверы HAL (по умолчанию), я получил довольно быстрый пример, но я хотел бы попробовать драйверы LL (низкого уровня) вместо HAL.

Когда я захожу в "Проект"> "Настройки"> "Дополнительные параметры" в CubeMX, я вижу периферийные устройства в списке, и рядом с каждым из них есть раскрывающийся список, который имеет только одну опцию, HAL. Согласно документации, здесь я мог выбрать LL или HAL для каждого периферийного устройства.

Как включить драйверы LL в STM32CubeMX?

Подробности: я сделал чистую установку STM32CubeMX (4.23.0) в Ubuntu (16.04) и создал новый проект для микроконтроллера STM32F103C8 (это на плате "Blue Pill"). Я использую IDE SW4STM32, все более или менее работало из коробки, за исключением того, что мне пришлось выбрать STLink V2 вместо V2.1 в файле конфигурации.

2 ответа

Решение

В настоящее время (STM32CubeMX v4.23.0) драйверы LL генерируются только для серий L1, L4, F2, F4, F7. См. Главу 6.2 Генерация кода STM32Cube с использованием драйверов нижнего уровня. Для STM32L1, STM32L4, STM32L4+, STM32F2, STM32F4 и серий STM32F7, STM32CubeMX позволяет генерировать периферийный код инициализации на основе либо периферийного драйвера HAL, либо периферийного драйвера нижнего уровня (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

Из менеджера проекта в расширенной настройке из селектора драйверов вы можете изменить HAL на LL для всех периферийных устройств

Эта информация в руководстве STM32CubeMX не соответствует действительности, если речь идет о серии F0. Я был в состоянии генерировать драйверы LL для STM32F030F4P6 (другой дешевый MCU).

Другие вопросы по тегам