刚做的STM32F429IGT的板子使用SWD口下载程序的时候出现“Invalid ROM Table”错误,网上也有很多同行遇到这个问题,他们的解释是因为芯片内部有程序,并且里面的程序使用外部晶振,并且是按照外部晶振为8MHz的频率来设计的,而我们的板子上的晶振是是25MHz的,内部程序运行的时候会出现超频,导致芯片内部锁相环“卡死”,锁相环出现问题就无法给CPU内核提供时钟了,导致无法下载程序。有位网友的做法是使用串口下载工具将芯片内部擦除,这时候单片机内部就不会出现锁相环错误,就可以使用SWD调试器下载程序了。
按照上面的方法将BOOT0拉高然后使用ISP工具将芯片擦除之后的确可以下载程序了,这可能说明芯片内部是有程序的,但是这个芯片是刚买的,按道理应该是没有程序的,能解释这个问题的可能是芯片不是全新的......
这是网上找的isp工具,专门通过串口下载程序到stm32,其实这个软件自己就可以做,可以参看stm32的ISP协议。
参考链接:http://www.openedv.com/posts/list/46547.htm