今天在网上看了看SD 卡方面的 资料,结合自己的理解 整理如下.
有时间我去做个实验验证一下.
0.SD驱动有两种架构,一为INTEL的,一为MS的,你如果用的MS的Public自带的代码,那就看注册表中HKEY_LOCAL_MACHINE\Drivers\BuiltIn项下的host,bus项设置好了没有,如果OK,那就检查HKEY_LOCAL_MACHINE\Drivers\Active下host,bus两层驱动跑起来没有.
逻辑上主要是:
SDHC_SC2410.dll是最底层,负责具体的发命令什么的,SDBus.dll是中间层,负责整合命令和管理,这两个在HKEY_LOCAL_MACHINE\Drivers\BuiltIn下,系统启动时就加载,SDMemory.dll是最高层.正常工作时,一旦卡插入,SDHC_SC2410.dll的IST检测到中断,通知SDBus.dll做初始化工作,OK后SDBus.dll加载SDMemory.dll,系统才能识别卡.
1.WINCE 下 SD驱动程序包括 三部分
HOST 硬件地层部分 对应文件一般是SDHC_SC2410.dll
BUS 中间逻辑命令层 SDBUS.DLL
CLIENT 上层 SDMEMORY.DLL
SD 卡驱动是表准驱动,一般不需要独立去写.
2.在WINCE 项目中添加SD 卡的相关的组建,例如:
CATALOG->device drivers->SDIO-&g...
>> 阅读全文