=============================================================
标题:wince添加SD卡的支持
摘要:
备注:Windows CE 5.0
日期:2010.5.5
姓名:朱铭雷
=============================================================
需要添加的驱动和组件如下:
① Device Drivers | SDIO | SD Memory
② Device Drivers | SDIO | SDIO Host | Samsung 2410 SDIO Host
③ Core OS | Windows CE devices | File Systems and Data Store | Storage Manager | FAT File System
这里添加FAT文件系统,以便以后对SD卡进行读写。
和SD卡有关的注册表内容如下:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SDIO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[HKEY_LOCAL_MACHINE/Drivers/Builtin/SDBusDriver]
"Order"=dword:20
"Dll"="SDBusDriver.dll"
"Entry"="SDBusDriverStartUp"
[HKEY_LOCAL_MACHINE/Drivers/SDCARD/SDBusDriver]
"Order"=dword:20
"Dll"="SDBusDriver.dll"
"Prefix"="SDC"
"ThreadPriority"=dword:64 ; default thread priority for dispatch thread
"RequestListDepth"=dword:30 ; pre-allocated requests
; "ZoneMask"=dword:e01d ; example zone mask
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/SDMemory]
"Name"="SD Memory Card"
"Folder"="SDCard" ; notears
; "PartitionDriver"="" ; removable storage cannot have partitions
; SD Memory Storage class driver
[HKEY_LOCAL_MACHINE/Drivers/SDCARD/ClientDrivers/Class/SDMemory_Class]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"FSD"="FATFS.DLL"
"IOCTL"=dword:4 ; DISK_IOCTL_INITIALIZE, sent to driver by DeviceManager
"BlockTransferSize"=dword:40 ; Send no more than 64 blocks of data per bus transfer
; "SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block access
"Profile"="SDMemory"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{A32942B7-920C-486b-B0E6-92A702A99B35}"
; MMC Storage Class Driver
[HKEY_LOCAL_MACHINE/Drivers/SDCARD/ClientDrivers/Class/MMC_Class]
"Dll"="SDMemory.dll"
; "Prefix"="SMC"
"Prefix"="DSK"
"FSD"="FATFS.DLL"
"IOCTL"=dword:4 ; DISK_IOCTL_INITIALIZE, sent to driver by DeviceManager
"BlockTransferSize"=dword:40 ; Send no more than 64 blocks of data per bus transfer
; "SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block access
"Profile"="MMC"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{A32942B7-920C-486b-B0E6-92A702A99B35}"
; setting for SD bus driver to load driver
[HKEY_LOCAL_MACHINE/Drivers/SDCARD/HostControllers/SDSC]
"Dll"="SDCSDCard.dll"
"Prefix"="SDC"
这里将SD卡盘符的名字修改为SDCard:
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/SDMemory]
"Folder"="SDCard" ; notears
先Copy Files,然后Sysgen系统,重新烧写NK,启动系统,插上SD卡测试了一下,如图: