STM32自举程序激活与存储区选择解析

需积分: 50 47 下载量 73 浏览量 更新于2024-08-09 收藏 3.84MB PDF 举报
"STM32微控制器的自举程序激活涉及到一系列的启动模式,这些模式决定了STM32在上电或复位后从哪个存储区域开始执行代码。自举程序通常存储在内部的系统存储器中,其主要功能是通过串行接口下载应用程序到内部Flash,并支持对Flash代码、数据和向量表的更新。STM32产品系列广泛,包括STM32L0、STM32L1、STM32L4、STM32F0、STM32F1、STM32F2、STM32F3和STM32F4等。" STM32微控制器的自举程序激活是一个关键的初始化步骤,它根据Boot引脚的状态和Option Byte中的设置来确定启动流程。表2列出了七种不同的自举模式(Pattern1至Pattern7),每种模式对应特定的启动条件。例如,Pattern1要求Boot0引脚为1,Boot1引脚为0,而Pattern2则要求Boot0引脚为1,nBoot1位为1。模式3至7引入了BFB2位,这与双存储区自举机制有关,允许在两个存储区之间切换。 Boot0和Boot1是两个外部输入引脚,它们的电平状态在上电或复位时被检测,以决定启动源。nBoot1和BFB2则是Option Byte中的位,可以通过编程进行配置。当Boot0和Boot1的组合满足特定模式时,STM32会从相应存储区启动。例如,当Boot0为1,Boot1为0,且BFB2为1时,设备可能会执行双存储区自举,或者如果BFB2为0,则可能从Flash用户代码跳转执行。 如果设置了读出保护Level2,STM32将不会从系统存储器自举,除非从已经运行的Flash用户代码中跳转。此外,如果两个存储区均未包含有效的代码,自举程序会根据配置选择其他启动模式。 STM32的自举程序还支持通过各种串行接口(如USART、CAN、USB、I2C)下载和更新应用程序。每个串行接口都有其特定的通信协议,这些协议在单独的文档中详细描述。在实际应用中,需要考虑硬件配置,确保与自举程序兼容的串行接口正确连接和配置。 总结来说,STM32的自举程序激活是一个复杂的过程,涉及到硬件引脚状态、Option Byte配置以及可能的双存储区机制。理解这些启动模式对于正确配置和调试STM32系统至关重要,特别是当需要通过串行接口进行固件更新时。