ST link 下载问题

2019-07-21 08:55发布

之前ST link下载了一个程序,然后板子就下不了程序了,换了Jlink也下载不了,应该是板子的问题,怎么解决啊,板子复位可以吗,怎么复位呀

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
fang百川
2019-07-21 11:15
自己在网上找了一下资料,如果硬件晶振和软件写的时钟不对应的话,可能造成芯片自锁(好像是,反正就是不能下载程序了),这个时候需要对Boot0和Boot1电平外接,具体如下
[mw_shl_code=c,true]在每个STM32​的芯片上都有两个管脚BOOT0和BOOT1, 这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:
BOOT1=x   BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0  BOOT0=1  从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1  BOOT0=1 从内置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 。[/mw_shl_code]

然后我的接法就是BOOT0=1,BOOT1=0.重新下载一个时钟正常的程序,后续就可以继续使用下载了,然后把Boot0和Boot1跳线去掉

一周热门 更多>