Перейти к содержанию

STM32L4: малопотребляющие микроконтроллеры на Cortex-M4

STM32L4 — малопотребляющее семейство STM32 на ядре Cortex-M4 с FPU и частотой до 80 МГц: от STM32L412 и L432 в маленьких корпусах до STM32L496 с 320 КБ ОЗУ и контроллером ЖК-индикатора. Здесь — сравнение линеек, главное из reference manual о тактировании, режимах питания и загрузке и страницы с распиновкой каждого микроконтроллера.

STM32L4 — семейство малопотребляющих микроконтроллеров STMicroelectronics на ядре Arm Cortex-M4 с блоком вычислений с плавающей точкой и частотой до 80 МГц. От STM32L1 его отличают более быстрое ядро, мультиплексор альтернативных функций на шестнадцать позиций и генератор MSI до 48 МГц, от STM32F4 — набор режимов сна вплоть до Shutdown и питание от 1,71 В. В разделе 129 страниц для 178 исполнений в 20 корпусах, 17 линеек: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.

Линейки STM32L4

Значения в таблице собраны из записей базы ST: частота — максимальная для линейки, память — от наименьшего до наибольшего исполнения.

ЛинейкаЯдро, частотаФлеш-памятьОЗУКорпусаЧем выделяется
STM32L412Cortex-M4, до 80 МГц64 КБ – 128 КБ40 КБLQFP32, LQFP48, LQFP64, UFBGA64, UFQFPN32, UFQFPN48, WLCSP36USB, QUADSPI, COMP, RNG, LPTIM, LPUART, TSC
STM32L422Cortex-M4, до 80 МГц128 КБ40 КБLQFP32, LQFP48, LQFP64, UFBGA64, UFQFPN32, UFQFPN48, WLCSP36USB, QUADSPI, COMP, AES, RNG, LPTIM, LPUART, TSC
STM32L431Cortex-M4, до 80 МГц128 КБ – 256 КБ64 КБLQFP48, LQFP64, LQFP100, UFBGA64, UFBGA100, UFQFPN32, UFQFPN48, WLCSP49, WLCSP64CAN, QUADSPI, DAC, COMP, SAI, RNG, LPTIM, LPUART, TSC
STM32L432Cortex-M4, до 80 МГц128 КБ – 256 КБ64 КБUFQFPN32USB, CAN, QUADSPI, DAC, COMP, SAI, RNG, LPTIM, LPUART, TSC
STM32L433Cortex-M4, до 80 МГц128 КБ – 256 КБ64 КБLQFP48, LQFP64, LQFP100, UFBGA64, UFBGA100, UFQFPN48, WLCSP49, WLCSP64USB, CAN, QUADSPI, DAC, COMP, SAI, RNG, LPTIM, LPUART, TSC
STM32L442Cortex-M4, до 80 МГц256 КБ64 КБUFQFPN32USB, CAN, QUADSPI, DAC, COMP, SAI, AES, RNG, LPTIM, LPUART, TSC
STM32L443Cortex-M4, до 80 МГц256 КБ64 КБLQFP48, LQFP64, LQFP100, UFBGA64, UFBGA100, UFQFPN48, WLCSP49, WLCSP64USB, CAN, QUADSPI, DAC, COMP, SAI, AES, RNG, LPTIM, LPUART, TSC
STM32L451Cortex-M4, до 80 МГц256 КБ – 512 КБ160 КБLQFP48, LQFP64, LQFP100, UFBGA64, UFBGA100, UFQFPN48, WLCSP64CAN, QUADSPI, DAC, COMP, SAI, DFSDM, RNG, LPTIM, LPUART, TSC
STM32L452Cortex-M4, до 80 МГц256 КБ – 512 КБ160 КБLQFP48, LQFP64, LQFP100, UFBGA64, UFBGA100, UFQFPN48, WLCSP64USB, CAN, QUADSPI, DAC, COMP, SAI, DFSDM, RNG, LPTIM, LPUART, TSC
STM32L462Cortex-M4, до 80 МГц512 КБ160 КБLQFP48, LQFP64, LQFP100, UFBGA64, UFBGA100, UFQFPN48, WLCSP64USB, CAN, QUADSPI, DAC, COMP, SAI, DFSDM, AES, RNG, LPTIM, LPUART, TSC
STM32L471Cortex-M4, до 80 МГц512 КБ – 1 МБ128 КБLQFP64, LQFP100, LQFP144, UFBGA132, UFBGA144CAN, FMC, QUADSPI, DAC, COMP, SAI, DFSDM, RNG, LPTIM, LPUART, TSC
STM32L475Cortex-M4, до 80 МГц256 КБ – 1 МБ128 КБLQFP64, LQFP100USB OTG FS, CAN, FMC, QUADSPI, DAC, COMP, SAI, DFSDM, RNG, LPTIM, LPUART, TSC
STM32L476Cortex-M4, до 80 МГц256 КБ – 1 МБ128 КБLQFP64, LQFP100, LQFP144, UFBGA132, UFBGA144, WLCSP72, WLCSP81, WLCSP99USB OTG FS, CAN, FMC, QUADSPI, DAC, COMP, SAI, DFSDM, RNG, LPTIM, LPUART, TSC
STM32L485Cortex-M4, до 80 МГц256 КБ – 512 КБ128 КБWLCSP72USB OTG FS, CAN, QUADSPI, DAC, COMP, SAI, DFSDM, AES, RNG, LPTIM, LPUART, TSC
STM32L486Cortex-M4, до 80 МГц1 МБ128 КБLQFP64, LQFP100, LQFP144, UFBGA132, WLCSP72USB OTG FS, CAN, FMC, QUADSPI, DAC, COMP, SAI, DFSDM, AES, RNG, LPTIM, LPUART, TSC
STM32L496Cortex-M4, до 80 МГц512 КБ – 1 МБ320 КБLQFP64, LQFP100, LQFP144, UFBGA132, UFBGA169, WLCSP100, WLCSP115USB OTG FS, CAN, FMC, QUADSPI, DAC, COMP, SAI, DFSDM, DCMI, DMA2D, HASH, RNG, LPTIM, LPUART, TSC
STM32L4A6Cortex-M4, до 80 МГц1 МБ320 КБLQFP64, LQFP100, LQFP144, UFBGA132, UFBGA169, WLCSP100USB OTG FS, CAN, FMC, QUADSPI, DAC, COMP, SAI, DFSDM, DCMI, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC

Последняя цифра номера задаёт набор интерфейсов. По данным ST:

ЛинейкаПримерыUSBКонтроллер ЖК-индикатора
STM32L4x1L431, L451, L471——
STM32L4x2L412, L432, L452устройство Full Speed—
STM32L4x3L433, L443устройство Full Speedесть
STM32L4x5L475OTG Full Speed—
STM32L4x6L476, L486, L496, L4A6OTG Full Speedесть

Первые цифры задают кристалл и описывающий его reference manual: RM0394 — STM32L41x–L46x, RM0351 — STM32L47x, L48x, L49x и L4Ax. Объём ОЗУ — от 40 КБ у STM32L412 до 320 КБ у L496 и L4A6: SRAM1 и SRAM2, например 96 и 32 КБ у L47x/L48x и 256 и 64 КБ у L49x/L4Ax (RM0351, 2.4).

Тактирование

После сброса STM32L4 работает от внутреннего генератора MSI на 4 МГц без тактов ожидания (RM0351, раздел FLASH). MSI настраивается на одну из двенадцати частот — от 100 кГц до 48 МГц, — а при подключённом часовом кварце LSE подстраивается по нему; на 48 МГц такой MSI может тактировать USB без высокочастотного кварца (RM0394, раздел RCC). Кроме него есть HSI16 на 16 МГц, кварцевый HSE, генератор HSI48 для USB, RNG и SDMMC (у L41x–L46x и L49x/L4Ax) и PLL для частот до 80 МГц.

Напряжение ядра выбирается из двух диапазонов: Range 1 — для частот до 80 МГц, Range 2 — экономичный, до 26 МГц. Такты ожидания флеш-памяти (RM0351, табл. 11):

Тактов ожиданияRange 1Range 2
0до 16 МГцдо 6 МГц
1до 32 МГцдо 12 МГц
2до 48 МГцдо 18 МГц
3до 64 МГцдо 26 МГц
4до 80 МГц—

Делители таймеров и скорость UART от выбранных частот считают калькулятор таймера и калькулятор UART, а для LPUART от часового кварца LSE — тот же калькулятор UART с частотой 32 768 Гц: от LSE LPUART работает на скорости до 9600 бит/с (RM0351, раздел LPUART).

Режимы низкого потребления

STM32L4 питается от 1,71 до 3,6 В (RM0351, раздел PWR) и, кроме обычного сна Sleep, умеет:

  • Low-power run и Low-power sleep — работа и сон на частоте ниже 2 МГц, когда стабилизатор переведён в экономичный режим битом LPR;
  • Stop 0, Stop 1, Stop 2 — остановка тактов с сохранением ОЗУ и регистров; в Stop 2 приёмники I²C3 и LPUART сами включают HSI16, чтобы принять кадр и разбудить микроконтроллер;
  • Standby — выключение ядра; содержимое SRAM2 можно сохранить, установив бит RRS в PWR_CR3 (RM0351, раздел PWR);
  • Shutdown — самый глубокий режим: стабилизатор выключен, содержимое SRAM1, SRAM2 и регистров теряется, кроме резервного домена (RM0351, 5.3.10).

У SRAM2 есть контроль чётности, который включают битом SRAM2_PE в байтах опций (RM0351, 2.4.1). Сколько устройство проработает от батареи при известных токах в активном режиме и во сне, считает калькулятор времени работы от батареи.

Выводы STM32L4: альтернативные функции и загрузка

У каждой линии порта мультиплексор на шестнадцать функций: номер AF0–AF15 записывают в регистры GPIOx_AFRL (линии 0–7) и GPIOx_AFRH (линии 8–15) (RM0351, раздел GPIO). В данных ST у STM32L4 встречаются номера до AF14.

Загрузку выбирают значение BOOT0 и бит nBOOT1 в байтах опций (RM0351, табл. 4 и 6):

BOOT0nBOOT1Откуда старт
0любойфлеш-память
11системная память — встроенный загрузчик
10SRAM1

У STM32L47x/L48x BOOT0 — это всегда вывод. У STM32L41x–L46x и L49x/L4Ax, если бит nSWBOOT0 в байтах опций сброшен, BOOT0 берётся из бита nBOOT0, а вывод PH3-BOOT0 становится обычной линией порта. У STM32L41x–L46x к тому же действует проверка пустой флеш-памяти: если её первое слово не запрограммировано, стартует загрузчик (RM0394, табл. 6). Загрузчик работает через USART1–USART3, I²C1–I²C3, SPI1 и SPI2, CAN1 и USB DFU — набор зависит от линейки (AN2606, табл. 162–172).

Все STM32L4 по корпусам

STM32L412 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L412C8LQFP4864 КБ40 КБ38
STM32L412C8UFQFPN4864 КБ40 КБ38
STM32L412CBTxLQFP48128 КБ40 КБ38
STM32L412CBTxPLQFP48128 КБ40 КБ36
STM32L412CBUxUFQFPN48128 КБ40 КБ38
STM32L412CBUxPUFQFPN48128 КБ40 КБ36
STM32L412K8LQFP3264 КБ40 КБ26
STM32L412K8UFQFPN3264 КБ40 КБ26
STM32L412KBLQFP32128 КБ40 КБ26
STM32L412KBUFQFPN32128 КБ40 КБ26
STM32L412R8UFBGA6464 КБ40 КБ52
STM32L412R8LQFP6464 КБ40 КБ52
STM32L412RBIxUFBGA64128 КБ40 КБ52
STM32L412RBIxPUFBGA64128 КБ40 КБ50
STM32L412RBTxLQFP64128 КБ40 КБ52
STM32L412RBTxPLQFP64128 КБ40 КБ50
STM32L412T8WLCSP3664 КБ40 КБ29
STM32L412TBYxWLCSP36128 КБ40 КБ29
STM32L412TBYxPWLCSP36128 КБ40 КБ28

STM32L422 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L422CBLQFP48128 КБ40 КБ38
STM32L422CBUFQFPN48128 КБ40 КБ38
STM32L422KBLQFP32128 КБ40 КБ26
STM32L422KBUFQFPN32128 КБ40 КБ26
STM32L422RBUFBGA64128 КБ40 КБ52
STM32L422RBLQFP64128 КБ40 КБ52
STM32L422TBWLCSP36128 КБ40 КБ29

STM32L431 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L431CB, STM32L431CCLQFP48128 КБ / 256 КБ64 КБ38
STM32L431CB, STM32L431CCUFQFPN48128 КБ / 256 КБ64 КБ38
STM32L431CB, STM32L431CCWLCSP49128 КБ / 256 КБ64 КБ39
STM32L431KB, STM32L431KCUFQFPN32128 КБ / 256 КБ64 КБ26
STM32L431RB, STM32L431RCUFBGA64128 КБ / 256 КБ64 КБ52
STM32L431RB, STM32L431RCLQFP64128 КБ / 256 КБ64 КБ52
STM32L431RB, STM32L431RCWLCSP64128 КБ / 256 КБ64 КБ52
STM32L431VCUFBGA100256 КБ64 КБ83
STM32L431VCLQFP100256 КБ64 КБ83

STM32L432 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L432KB, STM32L432KCUFQFPN32128 КБ / 256 КБ64 КБ26

STM32L433 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L433CB, STM32L433CCLQFP48128 КБ / 256 КБ64 КБ38
STM32L433CB, STM32L433CCUFQFPN48128 КБ / 256 КБ64 КБ38
STM32L433CB, STM32L433CCWLCSP49128 КБ / 256 КБ64 КБ39
STM32L433RB, STM32L433RCUFBGA64128 КБ / 256 КБ64 КБ52
STM32L433RB, STM32L433RCLQFP64128 КБ / 256 КБ64 КБ52
STM32L433RB, STM32L433RCWLCSP64128 КБ / 256 КБ64 КБ52
STM32L433RCLQFP64256 КБ64 КБ50
STM32L433VCUFBGA100256 КБ64 КБ83
STM32L433VCLQFP100256 КБ64 КБ83

STM32L442 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L442KCUFQFPN32256 КБ64 КБ26

STM32L443 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L443CCFxWLCSP49256 КБ64 КБ39
STM32L443CCLQFP48256 КБ64 КБ38
STM32L443CCUFQFPN48256 КБ64 КБ38
STM32L443CCYxWLCSP49256 КБ64 КБ39
STM32L443RCUFBGA64256 КБ64 КБ52
STM32L443RCLQFP64256 КБ64 КБ52
STM32L443RCWLCSP64256 КБ64 КБ52
STM32L443VCUFBGA100256 КБ64 КБ83
STM32L443VCLQFP100256 КБ64 КБ83

STM32L451 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L451CC, STM32L451CEUFQFPN48256 КБ / 512 КБ160 КБ38
STM32L451CELQFP48512 КБ160 КБ38
STM32L451RC, STM32L451REUFBGA64256 КБ / 512 КБ160 КБ52
STM32L451RC, STM32L451RELQFP64256 КБ / 512 КБ160 КБ52
STM32L451RC, STM32L451REWLCSP64256 КБ / 512 КБ160 КБ52
STM32L451VC, STM32L451VEUFBGA100256 КБ / 512 КБ160 КБ83
STM32L451VC, STM32L451VELQFP100256 КБ / 512 КБ160 КБ83

STM32L452 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L452CC, STM32L452CEUFQFPN48256 КБ / 512 КБ160 КБ38
STM32L452CETxLQFP48512 КБ160 КБ38
STM32L452CETxPLQFP48512 КБ160 КБ38
STM32L452RC, STM32L452REUFBGA64256 КБ / 512 КБ160 КБ52
STM32L452RC, STM32L452RELQFP64256 КБ / 512 КБ160 КБ52
STM32L452RC, STM32L452REWLCSP64256 КБ / 512 КБ160 КБ52
STM32L452RELQFP64512 КБ160 КБ50
STM32L452REWLCSP64512 КБ160 КБ52
STM32L452VC, STM32L452VEUFBGA100256 КБ / 512 КБ160 КБ83
STM32L452VC, STM32L452VELQFP100256 КБ / 512 КБ160 КБ83

STM32L462 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L462CELQFP48512 КБ160 КБ38
STM32L462CEUFQFPN48512 КБ160 КБ38
STM32L462REUFBGA64512 КБ160 КБ52
STM32L462RELQFP64512 КБ160 КБ52
STM32L462REWLCSP64512 КБ160 КБ52
STM32L462VEUFBGA100512 КБ160 КБ83
STM32L462VELQFP100512 КБ160 КБ83

STM32L471 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L471QE, STM32L471QGUFBGA132512 КБ / 1 МБ128 КБ109
STM32L471RE, STM32L471RGLQFP64512 КБ / 1 МБ128 КБ51
STM32L471VE, STM32L471VGLQFP100512 КБ / 1 МБ128 КБ82
STM32L471ZE, STM32L471ZGUFBGA144512 КБ / 1 МБ128 КБ114
STM32L471ZE, STM32L471ZGLQFP144512 КБ / 1 МБ128 КБ114

STM32L475 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L475RC, STM32L475RE, STM32L475RGLQFP64256 КБ / 512 КБ / 1 МБ128 КБ51
STM32L475VC, STM32L475VE, STM32L475VGLQFP100256 КБ / 512 КБ / 1 МБ128 КБ82

STM32L476 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L476JE, STM32L476JGWLCSP72512 КБ / 1 МБ128 КБ57
STM32L476JGWLCSP721 МБ128 КБ55
STM32L476ME, STM32L476MGWLCSP81512 КБ / 1 МБ128 КБ65
STM32L476QE, STM32L476QGUFBGA132512 КБ / 1 МБ128 КБ109
STM32L476QGUFBGA1321 МБ128 КБ109
STM32L476RC, STM32L476RE, STM32L476RGLQFP64256 КБ / 512 КБ / 1 МБ128 КБ51
STM32L476VC, STM32L476VE, STM32L476VGLQFP100256 КБ / 512 КБ / 1 МБ128 КБ82
STM32L476VGWLCSP991 МБ128 КБ66
STM32L476ZE, STM32L476ZGLQFP144512 КБ / 1 МБ128 КБ114
STM32L476ZGUFBGA1441 МБ128 КБ114
STM32L476ZGLQFP1441 МБ128 КБ112

STM32L485 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L485JC, STM32L485JEWLCSP72256 КБ / 512 КБ128 КБ57

STM32L486 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L486JGWLCSP721 МБ128 КБ57
STM32L486QGUFBGA1321 МБ128 КБ109
STM32L486RGLQFP641 МБ128 КБ51
STM32L486VGLQFP1001 МБ128 КБ82
STM32L486ZGLQFP1441 МБ128 КБ114

STM32L496 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L496AE, STM32L496AGUFBGA169512 КБ / 1 МБ320 КБ136
STM32L496AGUFBGA1691 МБ320 КБ134
STM32L496QE, STM32L496QGUFBGA132512 КБ / 1 МБ320 КБ110
STM32L496QGIxPUFBGA1321 МБ320 КБ108
STM32L496QGIxSUFBGA1321 МБ320 КБ110
STM32L496RE, STM32L496RGLQFP64512 КБ / 1 МБ320 КБ52
STM32L496RGLQFP641 МБ320 КБ50
STM32L496VE, STM32L496VGLQFP100512 КБ / 1 МБ320 КБ83
STM32L496VGLQFP1001 МБ320 КБ81
STM32L496VGYxWLCSP1001 МБ320 КБ81
STM32L496VGYxPWLCSP1001 МБ320 КБ80
STM32L496WGWLCSP1151 МБ320 КБ90
STM32L496ZE, STM32L496ZGLQFP144512 КБ / 1 МБ320 КБ115
STM32L496ZGLQFP1441 МБ320 КБ113

STM32L4A6 — Cortex-M4, до 80 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L4A6AGIxUFBGA1691 МБ320 КБ136
STM32L4A6AGIxPUFBGA1691 МБ320 КБ134
STM32L4A6QGIxUFBGA1321 МБ320 КБ110
STM32L4A6QGIxPUFBGA1321 МБ320 КБ108
STM32L4A6RGTxLQFP641 МБ320 КБ52
STM32L4A6RGTxPLQFP641 МБ320 КБ50
STM32L4A6VGTxLQFP1001 МБ320 КБ83
STM32L4A6VGTxPLQFP1001 МБ320 КБ81
STM32L4A6VGYxWLCSP1001 МБ320 КБ81
STM32L4A6VGYxPWLCSP1001 МБ320 КБ80
STM32L4A6ZGTxLQFP1441 МБ320 КБ115
STM32L4A6ZGTxPLQFP1441 МБ320 КБ113

Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах (толерантные к 5 В помечены FT), токи и номиналы внешних компонентов. В базе ST есть отдельные записи с буквой P в конце, например STM32L412CBTxP: у таких исполнений на выводы выведено питание ядра VDD12 от внешнего понижающего преобразователя, поэтому их распиновка отличается.

Частые вопросы

Что такое MSI у STM32L4?

Внутренний RC-генератор с двенадцатью частотами: 100, 200, 400 и 800 кГц, 1, 2, 4, 8, 16, 24, 32 и 48 МГц. После сброса и выхода из Standby STM32L4 работает от MSI на 4 МГц (RM0351, раздел RCC). Если подключить часовой кварц LSE, MSI подстраивается по нему в режиме PLL и на 48 МГц может тактировать USB без внешнего высокочастотного кварца.

Сколько тактов ожидания флеш-памяти нужно STM32L4 на 80 МГц?

Четыре — в диапазоне напряжения ядра Range 1. По табл. 11 RM0351 без ожидания флеш-память работает до 16 МГц, с одним тактом — до 32 МГц, с двумя — до 48, с тремя — до 64, с четырьмя — до 80 МГц. В экономичном диапазоне Range 2 частота ограничена 26 МГц.

Чем отличаются линейки STM32L4x1, L4x2, L4x3, L4x5 и L4x6?

Набором USB и контроллером ЖК-индикатора. По данным ST у L4x1 нет ни USB, ни LCD, у L4x2 есть USB-устройство Full Speed, у L4x3 — USB-устройство и контроллер сегментного ЖК-индикатора, у L4x5 — USB OTG Full Speed, у L4x6 — USB OTG и контроллер ЖК-индикатора. Первые цифры (L41x–L4Ax) задают объём памяти и остальную периферию.

Почему STM32L4 не уходит в загрузчик по выводу BOOT0?

У STM32L41x–L46x и L49x/L4Ax значение BOOT0 может браться не с вывода PH3-BOOT0, а из бита nBOOT0 в байтах опций: так происходит, если сброшен бит nSWBOOT0 (RM0394, табл. 6; RM0351, табл. 6). Проверьте байты опций в STM32CubeProgrammer. У STM32L41x–L46x есть и обратная особенность: если первое слово флеш-памяти не запрограммировано, микроконтроллер сам стартует загрузчик.

Через какие интерфейсы работает загрузчик STM32L4?

Через USART1–USART3, I²C1–I²C3, SPI1 и SPI2, у большинства линеек — через CAN1, а у исполнений с USB — через USB в режиме DFU (AN2606, табл. 162–172). Загрузчик запускается при BOOT0 = 1 и nBOOT1 = 1.