山寨F407板子如何烧录正点原子例程、Keil下载提示Invalid ROM Table

山寨F407板子如何烧录正点原子例程

手头这块块信赢达的STM32F407板子,是模仿正点原子探索者STM32F407板子的,外设和接口,几乎是一模一样。

探索者板子用的是STM32F407ZET6,  信赢达的是STM32F407ZGT6。

如何查看这两颗芯片的区别?

1. 打开数据手册自己去对比

2. 打开CubeMX, 进行对比

经过CubeMX软件上的芯片介绍,这两颗料的管脚是一样的,RAM大小也一样,唯一的区别是ZET6的FLASH大小是52KB,而ZGT6的FLASH大小是1MB。

所以,几乎没区别,应该是可以直接烧录正点原子的例程的。

一,于是,直接烧录试试。 烧录一个正点原子的TFT LCD例程。

1.  提示下载错误

山寨F407板子如何烧录正点原子例程、Keil下载提示Invalid ROM Table

2. 百度出来的解决办法

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

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

回过头来,细看原理图,发现区别,区别是:

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

于是我修改了正点原子例程的下面两处

山寨F407板子如何烧录正点原子例程、Keil下载提示Invalid ROM Table

实测烧录成功了。

但是烧进去什么反应也没有,屏幕也是黑的。(PS,我的屏幕就是正点原子的屏幕,3.5寸电阻屏)

遗漏了哪个步骤呢?

回忆我对RTThread的使用经验, 其是借助CubeMX来配置时钟的。

我们找到正点原子例程的配置时钟的代码看一下

山寨F407板子如何烧录正点原子例程、Keil下载提示Invalid ROM Table

从这个备注来看,很显然,正点原子的时钟配置是按照HSE为8M来配置的。我们烧进例程,程序跑不起来,应该就是这个原因导致的。

于是我们可以通过CubeMX来自动生产时钟配置代码,然后复制黏贴到正点原子的此处时钟配置的地方。

山寨F407板子如何烧录正点原子例程、Keil下载提示Invalid ROM Table

TFT LCD例程程序就跑起来了。

.

上一篇:HDU-2222文字检索


下一篇:编写带对话框界面的OCX