SD Card 2.0’s Implement On 6410

本文详细介绍了WINCE环境下SD卡驱动的架构组成及其各部分功能,包括总线驱动、主控制端驱动和客户端驱动。同时,文章还探讨了如何支持SD卡协议2.0以实现对大容量SD卡的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Architecture



WINCE下的SD(Secure Digital)卡驱动的架构包括三个部分: 总线驱动(sdbus.dll |SYSGEN_SD_BUS),主控制端驱动(sdhc.dll | SYSGEN_SDHC_STANDARD)和客户端驱动(sdmemory.dll | SYSGEN_SD_MEMORY).

总线驱动是位于客户端驱动和主控制端驱动的抽象管理层,它提供了一组标准的API给客户端驱动使用。总线驱动是不依赖于应用程序和主控制端的,是跨平台的。

主控制端驱动控制硬件控制器,并提供接口给总线驱动用来和硬件通讯以及设置参数。它提供了一个位于总线驱动和主控制器应用的硬件抽象层.

       客户端驱动通过SD客户端驱动接口和SD设备通讯,客户端驱动接口被设计成SD总线的物理应用抽象层。客户端驱动接口允许客户端驱动将一个简单的,同步的存取设备驱动模拟成完全多线程的,异步的通讯设备驱动。

 

总线驱动sdbus.dll

WM提供了对SD卡协议2.0的支持,该协议的特点就是支持高容量和高读写速率,支持最大容量为32G的SD卡,最高读写速率为25MB/Sec, 同时还支持2.0还提供了命令模式和高速接口模式之间的相互切换的功能。

WM6.X是基于WINCE500的,WINCE500默认支持1.1的sd卡协议。SD1.1支持的SD的最大容量为2G,读写速率为12.5MB/sec,所以为了支持大容量的SD卡,我们必须进行扩展。

微软官方提供了官方源码,存放目录如下:

Sourcecode for the SD bus can befound in the following directories:

SD1.1 bus -%_WINCEROOT%\Public\Common\OAK\Drivers\SDCard\SDBusdriver

SD2.0 bus -%_WINCEROOT%\Public\Common\OAK\Drivers\SDCard\SDBus

 

实现

SMDK6410.bat------WM613\PLATFORM\SMDK6410\

set IMGSDBUS2=1

COMMON.bib------WM613\PUBLIC\COMMON\OAK\FILES\

#if definedIMGSDBUS2

; @CESYSGEN IFCE_MODULES_SDBUS2

   sdbus.dll     $(_FLATRELEASEDIR)\sdbus2.dll                 NK  SH

; @CESYSGEN ENDIF CE_MODULES_SDBUS2

#else

; @CESYSGEN IFCE_MODULES_SDBUS

   sdbus.dll      $(_FLATRELEASEDIR)\sdbus.dll                  NK  SH

; @CESYSGEN ENDIFCE_MODULES_SDBUS

#endif

这里如果定义了IMGSDBUS2,就会将sdbus2.dll,重命名为sdbus.dll并打包进NK中。那么个sdbus2.dll在那里呢?

Sources------ SMDK6410\Src\Drivers\HSMMC\SDBus\

TARGETNAME=SDBus2

TARGETTYPE=DYNLINK

DLLENTRY=DllEntry

 

HotPlug

s3c6410_hsmmc_ch0.cpp------PLATFORM\SMDK6410\Src\Drivers\HSMMC\HSMMC_ch0\s3c6410_hsmmc_ch0_drv\

SD0_nCD对应于引脚GPG6,设置为功能口MMC CDn0即可。

SD0_nWP对应于引脚GPL13,设置为EINT21即可。

Please refer to schema for more details.

RebuildKernel

a.      打开Base OS - WPC SMDK6410Retail.lnk

b.      cdPlatform/smdk6410

c.      build–c

d.      makeimg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值