我的fatfs 0.6为什么只支持dbr从物理分区地址0开始的情况,有隐藏分区就不行呢?
如题!有的sd卡物理分区和逻辑分区0扇区都是dbr分区,fatfs运行的很好,现在有的sd卡不是dbr,前面有隐藏分区,fatfs打开文件就报错,不能正常操作,请问修改那个参数使其可以正常操作?虽然知道怎样将卡暴力修改成从物理0扇区dbr,可是这样不好,没有从根本上解决问题。这其实是一个很基本的功能,怎么修改呢? d! 沉得好快,不得不顶!./emotion/em008.gif 看看这个:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5096227&bbs_page_no=1&search_mode=3&search_text=guxingganyue&bbs_id=9999 现在有两块sd卡,一块256m,dbr在物理地址和逻辑地址的0扇区,另一块1g,物理地址不是dbr,现在用暴力的办法是这块卡dbr在0扇区了,不过遇到一些问题,flseek,fwite之后 fread读数据错误,而老卡没问题,请问下是怎么回事? fwrite跟踪进去也没有产生错误~读数据第二次读的时候报错! 可以增加一个OFFSET,用于判断物理地址和逻辑地址。
一:在卡的初始化时增加一个OFFSET
disk_read(0,MMCRDData,0,1) ;
///////////////下面为确定MMC卡的物理地址或逻辑地址
if (MMCRDData==0xeb) offset=0; //offset为地址偏移量
else offset=MMCRDData+MMCRDData*0x100+MMCRDData*0x10000+MMCRDData*0x1000000;
二:在读写卡时增加
sector=sector+offset;
LZ可以看一下:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5156424&bbs_id=1037
页:
[1]