本文主要是介绍GD32F450ZK程序超过1MB后下载校验后提示Contents mismatch at: 08100000H 问题解决记录笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
发现一个奇怪问题, GD32F450ZK号称3MB, 但是程序大于1MB时候使用jlink下载到校验阶段会报Contents mismatch, 首先确认了芯片丝印没有问题。其次也看了工程配置没啥问题。使用jflash-Lite却可以正常下载,程序也能正常跑起来。
说明1MB以后的flash是真的可以使用。但是为什么用keil下载就不行呢?
仔细对比keil的下载和jflash的下载,发现多了个全片擦除操作,为此将keil的下载设置为全片擦除后果然能正常下载和仿真了(缺点是我的BootLoader丢失了)。
所以此刻我知道是keil里的flash算法有bug。
反馈他们FAE,他们也不知道。
后来问了同事才知道,很大概率是我的DFP的库旧了, 去Keil官网下载个最新的。
我现在的版本是1.0.4
官网最新的是3.0.3
而且3.0.2版本有描述: 更新了flash下载算法。
更新到最新DFP后,即使不勾选全片擦除,也能正常下载和仿真了。
这篇关于GD32F450ZK程序超过1MB后下载校验后提示Contents mismatch at: 08100000H 问题解决记录笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!