山寨F407板子如何燒錄正點原子例程、Keil下載提示Invalid ROM Table

一匹夫發表於2021-12-29

山寨F407板子如何燒錄正點原子例程

手頭這塊塊信贏達的STM32F407板子,是模仿正點原子探索者STM32F407板子的,外設和介面,幾乎是一模一樣。

探索者板子用的是STM32F407ZET6,  信贏達的是STM32F407ZGT6。

如何檢視這兩顆晶片的區別?兩種方法,選其一。

1. 開啟兩個資料手冊自己去對比

2. 開啟CubeMX, 進行對比

通過CubeMX來檢視晶片的基本資訊顯然更加直觀和高效。

經過CubeMX軟體上的晶片介紹,這兩顆料的管腳是一樣的,RAM大小也一樣,唯一的區別是ZET6的FLASH大小是512KB,而ZGT6的FLASH大小是1MB。

所以,管腳都一樣,僅FLASH大小的區別而已,應該是可以直接燒錄正點原子的例程的。

 

一,於是,直接燒錄試試。 燒錄一個正點原子的TFT LCD例程。

1.  提示下載錯誤

2. 百度出來的解決辦法

https://blog.csdn.net/yufengzheyang/article/details/76954121

大致意思是要修改晶振頻率,適配你的板子。

 

回過頭來,細看原理圖,發現區別,區別是:

探索者板子用的外部高速晶振(HSE)是8M的,  信贏達的HSE是25M的。

於是我修改了正點原子例程的下面兩處

實測燒錄成功了。

但是燒進去什麼反應也沒有,螢幕也是黑的。(PS,我的螢幕就是正點原子的螢幕,3.5寸電阻屏)

 

遺漏了哪個步驟呢?

回憶我對RTThread的使用經驗, 其是藉助CubeMX來配置時鐘的。

我們找到正點原子例程的配置時鐘的程式碼看一下

從這個備註來看,很顯然,正點原子的時鐘樹的配置是按照HSE為8M來配置的。我們燒進例程,程式跑不起來,應該就是這個原因導致的。

我們僅僅修改了外部HSE為25M,卻還沒有配置好時鐘樹呢!

於是我們可以通過CubeMX來自動生成時鐘樹的配置程式碼,然後複製黏貼到正點原子的此處時鐘配置的地方。

TFT LCD例程程式就跑起來了。

 

PS,後記,有時候還是會燒錄不進去,提示Invalid ROM Table,修改魔術棒的這裡會好些:

我用的是CMSIS-DAP模擬器, SWD下載方式, 接RESET腳,勾選under reset。

 

 

.

相關文章