单片机学习小组
直播中

Arvinhw

9年用户 923经验值
擅长:嵌入式技术
私信 关注

求一种使用仿真器调试STM32不能正常烧写的解决方案

为什么使用仿真器调试STM32不能正常烧写呢?是什么原因?如何解决?

回帖(1)

翁愿冠

2022-2-10 11:05:48
一、故障发生时的软硬件

硬件:正点原子STM32F429开发板,STLINK-V2仿真器。
软件:WIN7 X64,MDK V5。
程序是前几天刚调试好没问题的。

二、故障描述

当下载程序到开发板时,提示Flash Download failed--"Cortex-M4”。

紧接着出现nvalid ROM Table

三、试过之后不管用的方法

1.重新设置CPU。最开始以为是CPU型号设置错误,于是重新设置,严格对照芯片标识来设置。结果还是不能解决。

2.卸载仿真器驱动。把仿真器驱动卸载之后,重装。还是不行。

3.清除芯片。使用FlyMcu工具,对芯片进行清除。注意这个软件是通过USB串口与STM32连接的,并不是利用仿真器。擦出芯片之后重新用仿真器下载,还是不行。

可是通过FlyMcu却可以烧录。证明芯片是没有损坏的。

4.尝试短接BOOT。按照下图所示的方法,设置晶振、短接BOOT等,都不行。


四、原因分析:

如果不考虑低级错误,只是在各种设置或者网络搜索中寻找答案,很有可能都来自于keil官网的答案。官网是这样解释的。解决方法就是设置一些参数。但是嵌入式系统出了问题,原因是多方面的,当按照这种设置或者擦出芯片的方式来解决,还是不行的话,那么类似的解决方法可以不再看,而需要从硬件部分的开头开始查找了。

五、解决方法

在本例中,解决的方法很简单:给开发板上电。
方法很笨,但是能够解决问题的方法就是好方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分