驱动仅提供32位刷写的情况下如何完成刷写单数字节

  • 博客园
  • 2023-08-15 13:39:52


(资料图片仅供参考)

[Ooonly]

前情提要:需要刷写一整个app程序,分包刷写,每包字节数为单数,要求CRC校验正确。(芯片底层提供32位全字刷写和16位半字刷写,驱动只整合了32位全字刷写函数)

使用32位刷写函数出现的现象:通过keil5观察内存空间发现一包刷写成功一包刷写失败一包刷写成功...一直循环到末尾,刷写失败的包开始几个字节为乱码,不是包中的内容,且后面为全0xFF。

一、分析问题原因

首先理解驱动中32位写入内存函数刷写单数字节是如何处理的,在每次刷写完一次4字节之后,判断该包剩余未刷写字节数是否小于4,若小于4则补充0xFF至4个字节后一次刷入4字节结束。

出现问题,由于一个完整的app程序要求每个包中间是完美连接的,即一个分包的末尾字节的下一个字节为下一包的首字节。此时一个包的末尾字节后有刚刚补充的0xFF,内存通常在一次刷写之后会自动加上写保护,再次擦除之后才可再次刷写。

一包刷写成功之后,下一包的首字节刷写地址和上一包末尾补充0xFF冲突,造成刷写失败写入随机非0乱码。

二、解决方法

更改驱动中32位全字刷写函数,更改逻辑为:当前包刷写剩余字节数小于4时,将剩余字节按顺序放入一个4字节缓存中,并记录下剩余字节个数。当下一包开始刷写时,刷写地址需减去上一包剩余字节个数,并从首字节开始补充上述4字节缓存,形成一个由上一包的尾字节与当前包首字节组成的4字节全字刷写。最后需要额外判断整个app是否即将刷写完成,若当前包为最后一包,那么就没有下一包来补充含有剩余字节的4字节缓存,此时按原有逻辑补充0xFF进行32位全字刷写。

三、注意事项

由于该全字刷写函数不一定只有app刷写功能调用,还有例如参数保存等功能调用,所以建议使用宏定义,若不是app刷写功能则32位全字刷写函数内容与原来保持一致。作者并因为是新手,对宏定义理解不深刻,并没有第一时间想到这种操作方式,使用if-else也实现了,但是想起来好像宏定义更好看一点,哈哈。有想法、问题、意见可以评论或私信提出,欢迎交流转载。

以上就是今天要讲的内容,感谢您的关注。

标签:

分享到:

驱动仅提供32位刷写的情况下如何完成刷写单数字节

[Ooonly]前情提要:需要刷写一整个app程序,分包刷写,每包字节数为

  2023-08-15 13:39:52

最后英语怎么说读音(最后英语怎么说)

你们好,最近小活发现有诸多的小伙伴们对于最后英语怎么说读音,最后英

  2023-08-15 13:12:30

注意防范!南京暴雨黄色预警

刚刚南京市气象台发布暴雨黄色预警信号预计今天下午到夜里江北新区、鼓

  2023-08-15 12:14:49

男生祛痘护肤步骤(男生祛痘的日常方法)

你们好,最近小活发现有诸多的小伙伴们对于男生祛痘护肤步骤,男生祛痘

  2023-08-15 12:21:12

西北大学专科学校 西北大学专科学院

1、西北大学现代学院在三本文科学校里应该是比较好的,学院聘请西北大

  2023-08-15 11:27:36

在网上怎么举报赌博的人(怎么举报赌博的人)

你们好,最近小活发现有诸多的小伙伴们对于在网上怎么举报赌博的人,怎

  2023-08-15 11:14:56

中指快评丨央行再次降息 最新一期MLF利率下调15个基点

全国各城市房地产数据、城市房价排行、房价涨跌数据,前往中指云查看→

  2023-08-15 10:34:01

Realme GT5 将搭载 Snapdragon 8 Gen 2

Realme中国区总裁徐起蔡在微博发文表示,目前已有超过30款智能手机搭载

  2023-08-15 10:14:21

win11笔记本怎么开热点(笔记本怎么开热点)

你们好,最近小活发现有诸多的小伙伴们对于win11笔记本怎么开热点,笔

  2023-08-15 10:18:15

第八届“创客中国”陕西省中小企业创新创业大赛启动

14日记者了解到,第八届“创客中国”陕西省中小企业创新创业大赛暨第五

  2023-08-15 09:56:07

以下是今年 12 个人为了真正买房所经历的一切

最近,我请BuzzFeed社区的成员分享一下他们在今年的疯狂住房市场中的经

  2023-08-15 09:14:36

王者荣耀加速器怎么开挂(王者荣耀加速器怎么开)

你们好,最近小活发现有诸多的小伙伴们对于王者荣耀加速器怎么开挂,王

  2023-08-15 09:09:50

打新必读:多浦乐申购,蓝天转债申购

【新股申购】多浦乐:申购代码:301528,发行价格71 80元 股,发行市盈

  2023-08-15 09:09:17

王者荣耀战绩全部查询(王者荣耀战绩在线查询)

1、王者荣耀查询战绩的方法唤醒我们的手机,进入我们手机的桌面,在我

  2023-08-15 08:19:26

晶丰明源:连续5日融资净买入累计853.23万元(08-14)

晶丰明源融资融券信息显示,2023年8月14日融资净买入万元;融资余额万

  2023-08-15 07:44:11

vivo手机双卡设置在哪儿(vivo手机双卡设置在哪)

你们好,最近小活发现有诸多的小伙伴们对于vivo手机双卡设置在哪儿,vi

  2023-08-15 07:12:37

丈夫老是怀疑妻子出轨怎么办(妻子出轨怎么办)

你们好,最近小活发现有诸多的小伙伴们对于丈夫老是怀疑妻子出轨怎么办

  2023-08-15 06:18:29

云南省党外知识分子服务基地和留学人员报国基地授牌

14日,云南省党外知识分子、无党派人士和归国留学人员服务全省高质量跨

  2023-08-15 05:32:57

加码金刚线用钨丝生产!翔鹭钨业拟1亿元建设翔鹭新材料

翔鹭钨业拟1亿元设立翔鹭新材料,旨在加强对金刚线用钨丝产品的研发和

  2023-08-15 00:09:40

工商银行联行号查询官网(工商银行联行号)

1、联行号就是一个地区银行的唯一识别标志。2、用于人民银行所组织的大

  2023-08-14 23:14:40

知了背调能查出网贷吗(知了背调)

你们好,最近小活发现有诸多的小伙伴们对于知了背调能查出网贷吗,知了

  2023-08-14 22:14:59

消息人士透露央行将大力支持消费金融公司、汽车金融公司等发债 着力促消费扩内需

据接近央行的消息人士透露,为支持消费金融公司、汽车金融公司提高金融

  2023-08-14 21:42:11

微信导入手机通讯录好友限制知乎(微信导入手机通讯录)

1、微信“通讯录安全助手”,能够将手机通讯录安全备份网络上,可以随

  2023-08-14 21:15:00

狗狗吐黄水带泡沫精神不好(狗狗吐黄水带泡沫)

你们好,最近小活发现有诸多的小伙伴们对于狗狗吐黄水带泡沫精神不好,

  2023-08-14 20:22:21

乙酸钠是危险化学品吗(乙酸钠)

1、乙酸钠分子式:CH3CH2OONa·3H2O性状:无色透明结晶或白色颗粒 溶于

  2023-08-14 20:08:00

每一年的冬至就是数九吗(每年的冬至都是一九的第一天吗)

1、不是。2、是每年冬至以后第一个壬日开始就是一九的第一天。3、农历

  2023-08-14 19:19:37

GORO获得100万美元Pre-seed轮融资

GORO是一家房地产投资平台,致力于降低投资房地产领域的投资门槛。GORO

  2023-08-14 19:04:21

银联云闪付里的红包怎么用(银联云闪付红包码)

你们好,最近小活发现有诸多的小伙伴们对于银联云闪付里的红包怎么用,

  2023-08-14 18:21:22

长春市防汛抗旱指挥部终止市防汛一级应急响应

长春市防指决定于8月14日11时解除市防汛一级应急响应。

  2023-08-14 17:53:51

三星 Galaxy Z Flip5 和 Z Fold5 评测

7月26日,三星在韩国首尔推出了最新的折叠手机——GalaxyZFlip5(999美

  2023-08-14 17:09:27

热门资讯

联系邮箱:291 32 36@qq.com

京ICP备12018864号-33未经授权不得镜像、转载、摘抄本站内容,违者必究!Copyright 2022  www.213.com.cn. All Rights Reserved

213网 版权所有