摘要: 1.SD卡的命令格式:SD卡的指令由6字节(Byte)组成,如下:Byte1:0 1 x x x x x x(命令号,由指令标志定义,如CMD39为100111即16进制0x27,那么完整的CMD39第一字节为01100111,即0x27+0x40)Byte2-5:Command Arguments,命令参数,有些命令没有参数Byte6:前7位为CRC(Cyclic Redundacy Check,循环冗余校验)校验位,最后一位为停止位02.SD卡的命令SD卡命令共分为12类,分别为class0到class11,不同的SDd卡,主控根据其功能,支持不同的命令集 如下:Class0 :(卡的识别 阅读全文
posted @ 2011-02-07 23:57 xidongs 阅读(2426) 评论(0) 推荐(1) 编辑
摘要: 因为需要,又不想自己写,所以就移植了一个文件系统。 说下我的硬件和开发工具:接成 TRUE IDE 模式下的CF卡(也就是相当于一块硬盘了),三星S3C2440的ARM9,开发工具是很老很老的D版的ADS1.2。 我在网上看到的嵌入式系统上面常用的文件系统有UCOSII公司的UC/FS,支持CF卡,硬盘,SD/MMC卡,还有NAND FLASH等等,比较多,不过是商用的,需要银子的,有周立功的用于教学用(为什么说是用于教学用的,呵呵,等下就说)的ZLG/FS,还找到了开源、免费的两个,其中一个叫做 efsl ,另一个叫做 FatFs 。 现在先不考虑版权的问题,选择一个比较合适的文件系统。第 阅读全文
posted @ 2011-02-07 12:32 xidongs 阅读(1595) 评论(1) 推荐(1) 编辑
摘要: 因为要用,学习了一下SPI操作SD卡,同时移植了一个免费开源的FAT文件系统:FatFS。感觉挺好,在单片机上实现了读写文件的操作,接下来就可以解释我的G代码咯!  我的SD卡底层操作参考了网上几种常见的代码,但又对其结构做了一定的优化,至少看起来用起来比较方便。既可以作为文件系统的diskio使用,也可以直接使用底层函数,把SD卡作为一块flash读写。  FatFs文件系统体积蛮小,6-7K足矣,对于128Kflash的STM32来说很合适,代价不大。同时可移植性很高,最少只需要4个函数修改既可以实现文件系统的移植。相关文件系统的介绍请看这里。  这里给一套比较完整的参考资料,包括fatf 阅读全文
posted @ 2011-02-07 12:31 xidongs 阅读(5938) 评论(1) 推荐(0) 编辑
摘要: 注:以下内容转载自网络,作为资料保存给stm32移植fatfs文件系统,今天终于取得阶段性胜利。只需要提供这样几个函数即可 DSTATUSdisk_initialize(BYTE); DSTATUSdisk_status(BYTE); DRESULTdisk_read(BYTE,BYTE*,DWORD,BYTE); DRESULTdisk_write(BYTE,constBYTE*,DWORD,BYTE);//如果实现只读的文件系统就不需要了。 DRESULTdisk_ioctl(BYTE,BYTE,void*); 移植成功后,可以用如下方式读取SD卡了,实在太方便了,和PC机上编程差不了多少 阅读全文
posted @ 2011-02-07 12:28 xidongs 阅读(4629) 评论(0) 推荐(1) 编辑