STM32读取Flash出现乱码,重新刷入进入HardFault

问题描述
之前是在Flash中写入了一些参数,读取一直是正常的,但是今天修改了一些程序后再次刷入程序,跑的时候却发现写在Flash中的参数崩了。
解决方案
Debug观察Flash中的数据,发现在写参数的扇区中的数据变成了乱码,怀疑是刷入了程序,于是检查了程序的大小对比当前Flash的地址,发现果然是程序的大小超过了写参数的Flash地址的大小。

这里写图片描述
程序总大小 (129520+7152+836+23356)/1024=157KB
这里写图片描述
参数写在扇区5 5个扇区总大小 16+16+16+16+64=128KB<157KB
因此 刷的程序与写参数的内存地址产生了冲突导致出现问题,而不进行修改直接强行刷参数会导致刷进去的程序被强行修改,从而进入HardFault

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值