【轉】如何解決使用keil下載或者調試程序是提示的“Invalid ROM Table”信息!


在將Discovery的工程移植到Mini-STM32F4x9BI開發板時,使用ULINK2下載程序可能會出現如下圖所示的“Invalid ROM Table”這個錯誤。

可能原因是使用Mini-STM32F4x9BI開發板時(STM32F429BITx)外部晶振為25M,而使用Discovery的工程(STM32F429ZITx),其外部晶振為8M,晶振頻率修改錯誤導致程序超頻鎖死了。因此除了將Option for Target選項里面的device修改成STM32F429BITx和做一些必要的其它修改,若程序第一次下載后導致芯片不能繼續下載,該錯誤解決辦法:  

1.先斷電,把Discovery工程將stm32f4xx.h和system_stm32f4xx.c的晶振頻率進行了修改,如下所示:

stm32f4xx.h:

 

system_stm32f4xx.c:

 

2.把BOOT0置1,BOOT1置0,keil配置修改一下:進入Debug--Settings--Flash Download頁面,把Program、Verify、Reset and Run前面的勾干掉,然后按復位鍵,再點擊下載,下載程序進行芯片的擦除。恢復BOOT0接地。再把剛才修改過的Debug配置改回來,就可以正常使用了。目的就是一開始讓芯片進入bootloader程序,此時就可以進行下載程序了。如果沒有復位按鍵,那么就可以先將BOOT0接入高電平(默認BOOT0,BOOT1一般是通過電阻接低電平的,所以此時只需將BOOT0引出接入高電平),然后上電(相當於復位了),最后點擊下載,當程序正在下載時就可以不接高電平了。

 

來源

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM