最近在画32板子,遇到boot0和boot1的画法,于是好奇 为什么要加高电平和低电平,于是乎想起几个月前和电友讨论 boot的开机启动等
于是整理出来献给大家。
STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:
1)用户闪存 = 芯片内置的?Flash。
2)SRAM = 芯片内置的 RAM 区,就是内存啦。
3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区
域预置了一段 Bootloader,就是通常说的 ISP程序。这个区
域的内容在芯片出厂后没有人能够修改或擦除,即它是一个 ROM
区。
而boot的高低电平决定他们存储 如下:
复位时的电平状态决定了芯片复位后从哪个区域开始执
行程序,见下表:
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程
序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置 SRAM 启动,这种模式可以用于调试。
一般 情况BOOT0 和 BOOT1 跳线都跳到 0(地)。只是在 ISP下载的情况
下,BOOT0=1,BOOT1=0 ,(即:BOOT0=1,BOOT1=0时 串口下载)
下载完成后,把 BOOT0 的跳线接回
0,即 BOOT0=0,BOOT1=0 。