STM32一般下载时 BOOT0 BOOT1怎么接

很多网友在用 keil 下载 程序时明明丅载线连正常,偏偏程序就是无法下载还提示芯片未连。此时可能出错的原因就在BOOT0上

首先对BOOT0与BOOT1如何连及连方式介绍一下。

STM32 三种启动模式对应的存储介质均是芯片内置的它们是:
1)主闪存存储器= 芯片内置的Flash。这也是正常工作模式
2)SRAM = 芯片内置的RAM 区就是内存啦。
3)系统存儲器= 芯片内部一块特定的区域芯片出厂时在这个区域预置了一段Bootloader,就是通常说
的ISP 程序这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区
在每个STM32 的芯片上都有两个管脚BOOT0 和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复

位后从哪个区域开始执行程序见下表:

SRAM 只是在调试时使用,也可以做其他一些用途如做故障的局部诊断,写一段小程序加载到SRAM 中诊断板上的其他电

路或用此方法讀写板上的Flash 或EEPROM 等。还可以通过这种方法解除内部Flash 的读写保护当然解除读写保护的同时

Flash 的内容也被自动清除,以防止恶意的软件拷贝

问:我的STM32F103RET6 挂了,原因是BOOT0 和BOOT1 直地导致的很是奇怪,大家有没有遇到啊
答:STM32 的硬件设计指导也是建议BOOT0、1 电阻再地的。
BOOT0 和BOOT1 分别通过10k 电阻地方便串口下载,下载器控制BOOT0 为高电平下完后又将BOOT0
恢复为低,STM32 复位即可进入用户程序平常上电直进入用户程序。
boot0 10k 电阻地或者直地都不会引起芯片损毁。

注意:如果JTAG 相关的引脚被用作普通IO将无法下载(BOOT0 为低电平的情况下)。解决办法是用串口下载一次程序后再用JLINK 下载或鍺将BOOT0 配置成高电平后下载。

发布了42 篇原创文章 · 获赞 46 · 访问量 9万+

我要回帖

更多关于 接时 的文章

 

随机推荐