打印
[STM32F4]

把上一包数据擦除

[复制链接]
350|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiahy|  楼主 | 2021-2-6 11:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有个产品要远程升级功能,现在程序远程下发成功,校验也成功。
程序大致是将存储在外部RAM里面的程序,按照512byte一包,写入内部flash。
现在问题来了,我每写一包,然后再从flash里面读这包数据,都是正常,但是我再写下一包的时候,会把上一包数据擦除

使用特权

评论回复
沙发
chenjunt| | 2021-2-6 12:02 | 只看该作者
用jflash查看内部flash时候,只剩下最后一包写入的数据,导致升级失败。
bootloader和app里面都使用了ucosiii。

使用特权

评论回复
板凳
morrisk| | 2021-2-6 12:04 | 只看该作者
这个需要整体先擦除,然后再接收一包写入一包

使用特权

评论回复
地板
xxmmi| | 2021-2-6 12:06 | 只看该作者
你查一下手册,flash里不同地址段的擦除扇区是不一样的,前面块小后面块大,好像是128K字节一次一擦.

使用特权

评论回复
5
jiahy|  楼主 | 2021-2-6 12:08 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
6
磨砂| | 2021-3-2 16:46 | 只看该作者
说明你程序有问题啊

使用特权

评论回复
7
晓伍| | 2021-3-2 16:47 | 只看该作者
是不是重复写入了啊

使用特权

评论回复
8
八层楼| | 2021-3-2 16:49 | 只看该作者
地址指向重复了?

使用特权

评论回复
9
观海| | 2021-3-2 16:56 | 只看该作者
需要先整体擦除吧

使用特权

评论回复
10
guanjiaer| | 2021-3-2 16:58 | 只看该作者
一次需要擦掉64K吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

粉丝