STM32-Boot Configuration

STM32 支持 3 种 BOOT 方式:


  • Main Flash Memory
  • System Memory
  • Embedded SRAM

通常开发只需要让 STM32Main Flash Memory 启动即可。一般 STM32Main Flash Memory 的 Map 起始地址都是 0x0000000 (STM32 通过 ICode / DCode 总线访问)。


STM32-Boot Configuration_第1张图片


笔者使用是 STM32L151RET6,属于 Cat.5。所以想要设置成 Main Flash Memory 启动,只需要设置两点即可:

  • Option bit nBFB2
  • BOOT0

nBFB2 属于 STM32 中的 Option byte,用来配置产品信息。STM32 上电后可以通过读取 FLASH_OBR 中的 bit[23] 获取该值。默认为 0b1


所以只要将 STM32 的专用 GPIO 口 BOOT0 接 GND,就能让 STM32 从 Main Flash Memory 启动


启动后,CPU 从地址 0x0000000 获取栈顶指针值,从地址 0x0000004 开始执行代码

你可能感兴趣的:(STM32,stm32,嵌入式硬件,单片机,经验分享,mcu)