完善资料让更多小伙伴认识你,还能领取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的页大小,然后再两个页中写入数据,再擦除其中一个页,查看另一个页中内容是否还在。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
590 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2241 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1233 浏览 0 评论
1788 浏览 0 评论
1464 浏览 0 评论
74851 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 12:44 , Processed in 0.654879 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号