山寨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脚,勾选ubder reset。
.