文章目录
STM32 L4 系统内置BootLoader的使用(DFU例程)
实验环境基于STM32L496。
系统Bootloader基础知识
什么是DFU
ST官方在很多STM32的系统存储区烧录了Bootloader程序用以实现IAP。
用户可以通过进入系统Bootloader模式,经由USART、CAN、USB、I2C、SPI烧录程序,其中DFU(Device Firmware Update)就是通过USB接口实现IAP的方案。
作为一个IAP,该方案常用于避免产品软件更新时的拆装,并且能省去上位机程序和Bootloader程序的编写。
ST支持系统Bootloader的单片机型号如下(摘自AN2606,V44,2020.7):
相关参考文档
进入BootLoader
硬件Boot引脚进入BootLoader模式
STM32L496通过在复位时检测Boot0 Pin(PH3)和FlashOPTR寄存器中的nBoot1 bit状态进入Bootloader模式:
默认状态下,OPTR寄存器值为0xFFEFF8AA,即Boot0由Boot0Pin(PH3)决定,Boot1 bit跟随Boot0变化,所以只需要在复位时保持PH3上拉即可进入系统bootloader。
需要注意的是,如果使用了Flash保护 level2,就只能从Flash地址空间启动,不能进入系统Bootloader
如下STM32L4X6参考手册对OPTR寄存器的描述: