野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16872|回复: 2

使用fatfs文件系统f_read函数读bin文件部分数据出错

[复制链接]
发表于 2020-7-13 15:52:01 | 显示全部楼层 |阅读模式
最近想着弄一个基于SD卡的IAP升级程序,将待升级的BIN文件拷到SD卡中,利用f_read函数读取bin文件内容写入内部flash。
res_sd = f_read(&fnew, ReadBuffer, 0x400, &fnum); 开始读1K字节数据,打印出来发现0x200后面的数据都出错了。ReadBuffer缓存空间足够大,设置成2048byte。
然后将 f_read读的数据修改到0x200后,读出没有问题。后面一直尝试发现读取0x3fc(1020)字节,都没有问题,一旦大于0x400(1024)字节,就会出错。不知道什么原因,各位大佬麻烦给点建议啊?,             会不会是SD卡的驱动有啥限制了,应该跟跟SD一次只能读512字节,没关系吧?
回复

使用道具 举报

发表于 2020-7-13 17:10:12 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-14 09:42:21 | 显示全部楼层
Yuhailong 发表于 2020-7-13 17:10
看看我这个贴子:https://www.firebbs.cn/forum.php?mod=viewthread&tid=30013&extra=page%3D1

大哥,你有没有试过火哥的SPI驱动SD卡模式的,读1KB字节,后面512字节数据就是错误的,SD_ReadMultiBlocks(uint8_t* pBuffer, uint64_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks)读2个block会出错,按512字节读,IAP能升级成功。我现在在找原因?要是有mini板麻烦试一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-15 18:18 , Processed in 0.038360 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表