锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

关于单片机上的BOOT0和BOOT1

时间:2022-08-19 00:30:02 4m7光颉电阻

STM32一共有三种启动模式,在ST在官网下载RM0008中
在这里插入图片描述
相应的中文翻译如下:

一般来说,所谓启动,就是指我们下好程序后重启芯片时,SYSCLK第四个上升沿,BOOT引脚值将被定。用户可以设置BOOT1和BOOT选择复位后的启动模式。

主闪存储器 = 芯片内置的Flash。这也是正常的工作模式。
系统存储器 = 芯片内部有一个特定的区域,芯片出厂时在该区域预置了一段Bootloader,俗话说ISP程序。芯片出厂后,没有人能修改或擦除该区域的内容,即它是一个ROM区。
SRAM = 芯片内置的RAM区,就是内存。


第一种启动方式:是最常用的用户FLASH在这种模式下启动正常工作。STM32的FLASH可以擦10万次,不用担心芯片哪天会被擦爆!

第二种启动方式是系统存储器的启动方式,即串口下载方式(ISP),不建议使用这种,速度慢。STM32 中自带的BootLoader在这种启动模式下,如果程序硬件错误,可以切换BOOT0/1在此模式下重新烧写Flash可恢复正常。

第三种启动方式是STM32内嵌的SRAM启动。该模式用于调试。




需要注意的是,内置一般不使用SRAM 启动(BOOT1=1 BOOT0=1),因为SRAM 断电后数据丢失。多数情况下SRAM 只是在调试中使用,也可以用于其他用途。如果局部诊断故障,写一个小程序加载到SRAM 中诊断板上的其他电路,或者用这种方法读写板上的电路Flash 或EEPROM 等。内部也可以通过这种方法解除Flash 读写保护,当然解除了读写保护Flash 为防止恶意软件复制,还自动清除了内容。.

一般BOOT0 和BOOT1 跳线跳到0(地)。ISP 下载的情况下,BOOT0=1,BOOT1=0 ,下载后,把
BOOT0 跳线接回0,即BOOT0=0,BOOT1=0 。



STM32F103 配置BOOT0 和BOOT1 直接接地还是电阻接地?
问:我的STM32F103RET6 原因是挂了BOOT0 和BOOT1 直接造成的,很奇怪,你遇到过吗?
答:STM32 硬件设计指设计指导BOOT0、1 接地电阻。
BOOT0 和BOOT1 分别通过10k 电阻接地,方便串口下载,下载器控制BOOT0 这是一个高电平,完成后会再次发生BOOT0
恢复为低,STM32 用户程序可以复位。通常,用户程序可以直接通电。
boot0 接10k 电阻接地或直接接地不会损坏芯片。

注意:如果JTAG 相关引脚被用作普通引脚IO,将无法下载(BOOT0 在低电平的情况下)。解决方案是在使用之前用串口下载一个程序JLINK 下载,或将BOOT0 高电平配置后下载。




参考链接
1. https://blog.csdn.net/chenhuanqiangnihao/article/details/113663065
2. https://www.cxymm.net/article/qq_36958104/102966926

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章