STM32下载程序出现Invalid ROM Table

先断电,把BOOT0短接片换位置1,keil配置修改一下:进入Debug--Settings--Flash Download页面,把Program、Verify、Reset and Run前面的勾干掉(我还选了Erase Full Chip), 连续OK返回,下载程序,即擦除。恢复BOOT0短接片位置。再把刚才修改过的Debug配置改回来,下载,完成。造成原因是拷贝库里面的程序,它的晶振是8M的,配成180M,我板子是25M晶振,不改配置参数前提下,超死了。

他们的解释是因为芯片内部有程序,并且里面的程序使用外部晶振,并且是按照外部晶振为8MHz的频率来设计的,而我们的板子上的晶振是是25MHz的,内部程序运行的时候会出现超频,导致芯片内部锁相环“卡死”,锁相环出现问题就无法给CPU内核提供时钟了,导致无法下载程序。有位网友的做法是使用串口下载工具将芯片内部擦除,这时候单片机内部就不会出现锁相环错误,就可以使用SWD调试器下载程序了。

按照上面的方法将BOOT0拉高然后使用ISP工具将芯片擦除之后的确可以下载程序了
 

你可能感兴趣的:(STM32,单片机)