硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2355|回复: 7
收起左侧

[有问必答] 下发提示Contents mismatch at: 08060000H (Flash=00H Required=3DH) !

[复制链接]

34

主题

206

回帖

308

积分

高级会员

积分
308
发表于 2024-7-12 09:47:47 | 显示全部楼层 |阅读模式
刷固件提示这个:
QQ截图20240712093311.png
QQ截图20240712094026.png
BOOT:
QQ截图20240712094604.png QQ截图20240712094628.png
APP:
QQ截图20240712093436.png QQ截图20240712093801.png

IROM1 512kB

之前APP从0x0800 0000刷入一直正常的。
现在加了bootloader,刷进了0x0800 0000 size 0x0000 8000,所以APP地址改成0x0800 8000 size0x0007 8000,下发提示Contents mismatch at: 08060000H  (Flash=00H  Required=3DH) !
测试用J-Flash Lite去擦除整个芯片,然后keil分别下发bootloader和app又是正常的。但是再去下发app又不正常了。
我单独将APP刷回0x0800 0000也是是正常的。

这有可能是什么原因?



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-7-13 08:51:06 | 显示全部楼层
换个下载器试试。
回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
 楼主| 发表于 2024-7-15 08:42:43 | 显示全部楼层
eric2013 发表于 2024-7-13 08:51
换个下载器试试。

感谢硬汉哥!

试过换下载器了还是不行。
试过降下速度也是一样问题的。
回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
 楼主| 发表于 2024-7-15 09:59:26 | 显示全部楼层
初步怀疑是因为 RW Data + ZI Data 达到了122kB 没有配置好导致的
因为我通过注释代码 降低了下 就可以成功刷进去了。
STM32F407VET6 SRAM一共3部分
类型
起始地址
大小

CCM data RAM (64 KB data SRAM)
0x1000 0000
0x0001 0000(64kB)

SRAM (112 KB aliased by bit-banding)
0x2000 0000
0x0001 C000(112kB)

SRAM (16 KB aliased by bit-banding)
0x2001 C000
0x0000 4000(16kB)


112+16kB性质一样的 我就合并了作为默认SRAM
剩下CCM 我暂时没用起来 应该也不算超了吧
还是说我这里112和16 不能合到一起去 Keil这里要分开写到IRAM1 IRAM2
我记得当时STM32CubeMX刚生成项目的时候是分开的。后来我准备用上CCM给他合并了 把IRAM2给到CCM段了
我准备分开再试下



QQ截图20240715092803.png
QQ截图20240715092828.png
QQ截图20240715092853.png

回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
 楼主| 发表于 2024-7-15 11:29:52 | 显示全部楼层
测试调整ZI-Data到107kB 配置只使用IRAM1 0x20000000 size 0x1C000
刷入还是一样的提示

但是奇怪的是 从-O0改到-O3 之后可以成功刷入 虽然程序里面报错硬件错误了
感觉区别也不大啊

-O0:
QQ截图20240715112851.png

-O3:
QQ截图20240715112338.png

回复

使用道具 举报

3

主题

295

回帖

304

积分

高级会员

积分
304
发表于 2024-7-16 13:04:54 | 显示全部楼层
看起来像是擦除没成功,有的地方已经写0了,就没通过校验
回复

使用道具 举报

3

主题

295

回帖

304

积分

高级会员

积分
304
发表于 2024-7-16 15:15:52 | 显示全部楼层
楼主下载的位置是08008000,为什么报错的是08060000,看了下芯片手册,这个对应flash sector7的位置,flash大小也满足的,是对应最后一块sector的位置,你把jlink那里的flash起始位置改成08000000,sieze也改一下,target里还是08008000不变,试试看
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2024-9-20 10:28:42 | 显示全部楼层

我遇到和你一样的情况,看情况是程序使用的最后一个扇区没擦除成功。

下载算法

下载算法

解决方法就是下载算法的起始地址和大小不要改,保持默认,Keil会自动根据Target或分散加载文件里配置的IROM1地址进行扇区擦除和下载,亲测可用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 02:49 , Processed in 0.044559 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表