完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我再用SFUD的时候遇到个奇怪的问题: 环境: 问题: 1.使用SFUD,初始化,读操作都正常,因此排除是初始化什么的问题。 2.在写操作就出现问题了,写之前先调用擦除,结果把整个flash都给擦除了(flash里有OTA的download区,存储的升级包都给擦没了),而且写不上,写操作代码如下:
3.为了再进一步排除,我自己写了flash的读写操作,不用SFUD,一切正常,因此排除硬件问题。 4.最后感觉是sfud_erase 操作问题,因此把sfud_erase屏蔽,写之前不再擦除。神奇的是一切正常了。 5.查了一下sfud_write函数,说明是 no erase operate的。正常来说,flash写之前不是要先擦除么,怎么不擦除倒写上了,调用了擦除操作,结果把整片flash都给擦掉了,而且再调用sfud_write 也写不上了。 这是什么情况呢? |
|
相关推荐
3个回答
|
|
在shell中使用fal命令测试下读写是否正常
|
|
|
|
在shell中用sf和fal都进行了测试,测试结果一样,都是一样的问题:
1.写入长度只能是7个字节; 2.写入的数据如果是字母,则写进去的都是0; 3.如果使用erase操作,擦除5个字节,10个字节都没了。然后读取其他地址的数据,发现所有的地址都被擦除了。 |
|
|
|
擦除5个字节,10个字节都没了。这是正确的,flash擦除是按页为单位进行的。你确认下flash的页大小,然后再两个页中写入数据,再擦除其中一个页,查看另一个页中内容是否还在。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2285 浏览 0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
18539 浏览 11 评论
2465 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
3872 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1292 浏览 0 评论
69517 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 11:32 , Processed in 0.628930 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号