stm32f10x 的片上存储区有 3 个部分:内置 flash,内置 sram,内置 rom(system memory),这就决定了系
统的启动方式有 3 种:从内置 flash 启动,从内置 sram 启动,从 system memory 启动,这三种启动方式是
通过 BOOT[1:0]这个两个脚来决定的。
BOOT1 BOOT0 BOOT mode
x 0 main flash memory
0 1 system memory
1 1 embedded sarm
在系统上电的时候,cpu 首先根据这两个脚来确定是哪种模式的启动,然后就是把相应模式的起始地址映
射到 0 地址处,并从 0 地址处开始执行。
在芯片出厂时,st 烧写了一个 bootloader 到 rom 中,也就是 system memory。这个 bootloader 的主要任
务就是通过 uart1 下载程序到内置 flash 中去。
system memory boot 模式,在执行完成它的任务之后是必须要退出的。这个退出方式是通过一次硬件 reset
来实现的。在 reset 的时候,必须要配置 BOOT[1:0]这两个脚以使 cpu 在重启之后进入适当的模式。
基于调试方便考虑,一般使用 main flash memory 启动较为常见。
STM32 的 BOOT 概述
最新推荐文章于 2023-04-23 16:44:55 发布