STM32F103RCT6 的 BOOT 引导选择决定了微控制器启动时从哪个存储区域加载程序。STM32F103 系列微控制器具有多个启动模式,可以通过设置 MCU 的 BOOT 引脚来进行选择。

BOOT 引导模式

STM32F103RCT6 有三种启动模式,分别是:

  1. 主闪存区启动(Main Flash Memory Boot)
  2. 系统存储器启动(System Memory Boot)
  3. 内置SRAM启动(Embedded SRAM Boot)

引导选择引脚

STM32F103RCT6 有两个引脚用于选择启动模式:BOOT0 和 BOOT1。

  • BOOT0:通常连接到 VSS(GND)或 VCC(3.3V)。
  • BOOT1:通常连接到 VSS(GND)、VCC(3.3V)或浮空(No Connection)。

引导选择表

根据 BOOT0 和 BOOT1 的状态,可以得到以下引导模式:

BOOT1BOOT0启动模式
GNDGND从 Flash 存储器启动(默认)
GNDVCC从 System Memory(0x08000000)启动
VCCGND保留,不允许使用
VCCVCC从 Internal SRAM(0x20000000)启动

说明

  • 从 Flash 存储器启动:这是默认的启动模式,程序通常存储在 Flash 中。
  • 从 System Memory 启动:可以用来调试或更新程序。System Memory 是一块位于 Flash 区域的专用存储空间,大小为 128 字节,地址范围从 0x08000000 开始。
  • 从 Internal SRAM 启动:可以用来运行一些简单的测试程序。SRAM 地址范围从 0x20000000 开始。

设置方法

  1. 通过外部引脚设置:可以通过将 BOOT0 和 BOOT1 引脚连接到 VSS 或 VCC 来设置启动模式。例如,要从 System Memory 启动,可以将 BOOT0 连接到 VCC,而 BOOT1 连接到 GND。
  2. 通过内部寄存器设置:在程序运行期间,也可以通过修改内部寄存器来改变启动模式。例如,可以通过设置 RCC->CR 寄存器中的 BOOT0BOOT1 位来改变启动模式。

示例

从 Flash 启动(默认模式)
  • BOOT0:接地 (GND)
  • BOOT1:接地 (GND)
从 System Memory 启动
  • BOOT0:接电源 (VCC)
  • BOOT1:接地 (GND)
从 Internal SRAM 启动
  • BOOT0:接电源 (VCC)
  • BOOT1:接电源 (VCC)

注意事项

  • 程序加载:在从 System Memory 或 Internal SRAM 启动时,需要确保相应的存储区域中加载了有效的程序。
  • 引脚配置:在使用外部引脚设置启动模式时,确保引脚配置正确且在上电时已经处于正确的状态。
  • 程序保护:在从 Flash 启动时,如果设置了程序保护(Read-Out Protection, RDP),则不能从 Flash 启动。

总结

  • 通过设置 BOOT0 和 BOOT1 引脚的状态,可以控制 STM32F103RCT6 的启动模式。
  • 默认情况下,微控制器从 Flash 存储器启动。
  • 通过外部引脚或内部寄存器都可以设置启动模式。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部