CF-Card拷贝出错——续

终于解决CF卡出错问题了。先记录如下: 当我在板子上面对主机的文件进行MD5校验的时候惊奇的发现同一个文件在板子和主机上面居然MD5也不一样。主机的目录是用NFS mount到板子的。那么就有可能有2个原因: 网络错误 内存错误 NFS服务我是相信的,不然不可能用的这么广泛。那么只有一个可能,内存有问题。 于是换了一个板子。mount后md5文件,与在主机的MD5值一样。好的。这事内存问题。那么拷贝文件出错是不是也是内存影响的呢? 重新拷贝,md5sum后发现与主机一样。KO。搞定了 做了一夜的拷贝、md5sum、删除,CF卡都依然坚挺。看来是内存问题了。折腾了我好久。郁闷~~~~~ 手头还有一个Kingston的256M的CF卡,插上去试试,发现在分区保存的时候打印下面的错误: hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error } hda: task_no_data_intr: error=0x04 { DriveStatusError } hda: Write Cache FAILED Flushing! 呃。难道还有问题。…

CF-Card拷贝数据出错

整理了一下前几天给客户的DOC2CF。 当我把CF卡的文件在拷贝到主机后,发现了一个问题:拷贝到CF卡中文件的MD5和拷贝前的MD5不一样。这个是一个隐患,也就是说现在的CF卡是不稳定的,很有可能出现DOC同样的错误。 首先解决的问题是,这个文件是拷进来的时候出错了还是拷出去的时候出错了。 拷贝文件到CF卡后把卡取出,通过CF卡读卡器在电脑上校验发现MD5错误 把CF卡中的文件拷贝回电脑发现CF卡的文件和电脑里文件的MD5一样 结果是CF读是没有问题的,问题在于写CF的时序。

CompactFlash Card on MPC8241 using at 8-bits True IDE mode

由于我们公司的一款MPC8241板子存在以下问题 64M DOC空间不够 128M DOC不稳定,文件系统经常损坏 所以我们做了一个DOC转CF的转接卡,由于DOC是8-bits宽度,所以CF卡也只能用8-bits方式。 在CF卡复位后应该使用命令使CF卡工作在8-bits模式,并且不能使用DMA方式。 PS: 这个简单的东西调了整整2天,faint。原因就是第一次调试CF卡的时候写了一个简单的probe程序,当时使用的是16-bits宽度。定义基地址类型的时候使用的是volatile unsigned short *,这次调试的时候没有想起来,结果每次地址加1实际上都是地址加2。导致CF每次读都是在PowerDown模式,把我引进了一个错误的方向。 而对自己的驱动太放心,只是测量了D0是不是正确的,没有测量A0。2天时间都在怀疑时序是不是有问题。 昨天晚上11点终于忍不住量了以下A0,结果发现A0没有变化,A1上出现了波形,最终成功probe到了CF卡。 PS PS: 调试的时候千万不要有侥幸,自己写的代码要考虑清楚,硬件信号该量就要量,不要怕费事麻烦。