swordlife 发表于 2009-1-17 11:55

uC/FS移植之后对SD卡识别异常的情况咨询[求助]

这些天在uC/FS下移植了ZLG/SD的SPI接口方式的驱动程序。移植成功,能够对某些SD卡进行新建文件等操作。发现一个关于某些SD卡有时候无法识别的问题,百思不得其解,特地请教各位。<br />故障现象出现过程描述:<br />1.&nbsp;用移植成功之后的程序,在SmartARM2200开发板上对照相机用的大的SD卡进行新建文本文件操作,成功!<br />2.&nbsp;用同一张SD卡在移植成功的操作系统之上,使用_FS_FAT_AutoFormat()函数进行格式化,格式化进行3分钟之后强行拔出。<br />3.&nbsp;用“读卡器”将未格式化完毕的SD卡和PC机相连,在DOS状态下,用Format命令重新格式化为FAT32格式。<br />4.&nbsp;重新插入SmartARM2200开发板,使用程序新建文件等操作失败。追踪程序发现,读取SD卡9扇区数据以后,计算偏移量之后读取BPB数据时候超出了卡的地址范围导致出错。<br />5.&nbsp;将SD卡驱动程序中的修改如下:(就是将计算偏移量的语句注释掉)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Calculate&nbsp;start&nbsp;sector&nbsp;of&nbsp;the&nbsp;first&nbsp;partition&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_FS_mmc_logicalstart=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//_FS_mmc_logicalstart&nbsp;&nbsp;=&nbsp;_FS_mmc_mbrbuffer;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;_FS_mmc_logicalstart&nbsp;+=&nbsp;(0x100UL&nbsp;*&nbsp;_FS_mmc_mbrbuffer);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;_FS_mmc_logicalstart&nbsp;+=&nbsp;(0x10000UL&nbsp;*&nbsp;_FS_mmc_mbrbuffer);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;_FS_mmc_logicalstart&nbsp;+=&nbsp;(0x1000000UL&nbsp;*&nbsp;_FS_mmc_mbrbuffer);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;FS_LBL_MEDIACHANGED;<br /><br />6.&nbsp;编译通过,调试。发现又能够正确对SD卡新建文件等操作了。<br />7.&nbsp;SD卡反复在PC机上用FAT32、FAT16格式化之后,再在SmartARM2200上依然能够正常新建文件等操作。<br />8.&nbsp;&nbsp;在以上的程序基础上,对Mini&nbsp;SD卡(已经格式化为FAT16)格式,读取扇区0的内容和读大的SD卡扇区0的内容完全不同。<br /><br />我的疑问:<br />1.&nbsp;为什么有时候驱动程序里面要计算BPB的偏移量,有些驱动程序里面不要计算呢?(是同一张SD卡,只是对他进行了一次未完成的格式化动作)<br />2.&nbsp;大封装的SD卡和Mini&nbsp;SD卡之间有什么差异呢?<br /><br />-----备注:<br />1.&nbsp;大的SD卡是SanDisk的&nbsp;Ultra&nbsp;1GB的<br />2.&nbsp;MiniSD卡是SanDisk的1GB&nbsp;microSD。

swordlife 发表于 2009-1-17 12:26

纠正

4.重新插入SmartARM2200开发板,使用程序新建文件等操作失败。追踪程序发现,读取SD卡9扇区数据以后,计算偏移量之后读取BPB数据时候超出了卡的地址范围导致出错。<br /><br />纠正为“-----读取SD卡0扇区数据以后---”不是“9扇区”<br />

walnutcy 发表于 2009-1-18 01:34

用的哪修版本的uc/fs??

lyweizi 发表于 2010-6-2 17:23

能否把你的工程发给我一份参考啊!谢谢 我现在都焦头烂额了,
qq:446187462
msn:ly_xz@hotmail.com
页: [1]
查看完整版本: uC/FS移植之后对SD卡识别异常的情况咨询[求助]