Flash Download failed--“Cortex-M4”,Invalid ROM Table发生在仿真器烧写时,一定要查看板子是否供电正常

        摘要:调试比较大的STM32程序时,使用仿真器下载速度会比串口下载快很多,调试起来也非常方便。当您使用仿真器调试STM32时,有时会遇到突然不能正常烧写的情况发生。本来刚才还好好的,可突然就不能烧写了。一般发生的错误是Flash Download failed--"Cortex-M4”,Invalid ROM Table。当你试遍全网所有的解决方法都不能解决的时候,一定要再看看板子是否供电了。尽管是低级错误,但是很有可能会发生,尤其是在攻关、熬夜、头脑不太清醒的时候。

目录

一、故障发生时的软硬件

二、故障描述

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

四、原因分析:

五、解决方法

心得:


一、故障发生时的软硬件

硬件:正点原子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官网的答案。官网是这样解释的。解决方法就是设置一些参数。但是嵌入式系统出了问题,原因是多方面的,当按照这种设置或者擦出芯片的方式来解决,还是不行的话,那么类似的解决方法可以不再看,而需要从硬件部分的开头开始查找了。

五、解决方法

在本例中,解决的方法很简单:给开发板上电。

方法很笨,但是能够解决问题的方法就是好方法。

心得:

其实最想要跟大家分享的就是

1.具体问题具体分析,不要盲目依赖网络搜索

2.遇到问题首先从低级错误开始排查

3.用对比法逐个排除可能的故障

4.最笨的方法是最快的,慢就是快。

1024,节日快乐!但愿今天10点24之前能睡觉,不再熬夜。

猜你喜欢

转载自blog.csdn.net/youngwah292/article/details/109232570