v***@yahoo.co.in
2008-02-02 11:27:53 UTC
1)Hi all we are trying to write Wince 5.0 SD Card Device driver for
our ARM926EJ-S Board
2)For Our board interrrupt is not generated on insertion /removal of
SD card rather the details of card presence is stored in a
register .So here i had a doubt like can I use polling method instead
of waiting for interrupt for card insertion /removal event and then
inform bus driver using SDHCDIndicateSlotStateChange..
3) We have added following components from the catalog
a)SD Memory
b)FAT File System
so is there any other catalog components i need to add from catalog???
4) we have done following registry settings
[HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]
"Order"=dword:15
"Dll"="SDBus.dll"
"Prefix"="SDC"
"ThreadPriority"=dword:64 ; default thread priority for
dispatch thread
"RequestListDepth"=dword:30 ; pre-allocated requests
"IClass"=multi_sz:"{20FA98A8-B298-4b32-8D72-C716AEE2FA84}=
%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="Storage Card"
"MountAsRoot"=dword:1
"DefaultFileSystem"="FATFS"
"DisablePowerManagement"="1"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDMemory]
"Order"=dword:17
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"Profile"="SDMemory"
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class
\SDMemory_Class]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"BlockTransferSize"=dword:64 ; Overwrite from default 64 blocks.
Send no more than 200=(100kB/0.5kB) blocks of data per bus transfer
"Profile"="SDMemory"
"FSD"="FATFS.DLL"
"IOCTL"=dword:00000004
"IClass"=multi_sz:"{A4E7EDDA-
E575-4252-9D6B-4195D48BB865}","{A32942B7-920C-486b-
B0E6-92A702A99B35}"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC]
"Dll" = "SDHC.Dll"
"Prefix" = "SDH"
"Order" = dword:0
"FriendlyName" = "SDHC Driver"
"Ioctl" = dword:0
"ControllerISTPriority"=dword:64
"Index"=dword:2
Are this registry settings enough or do i need to add few more entries
4) Also we were successful in card detection using polling method but
i am not getting where exactly or in which api of my pdd i need to
implement commands like block read and block write and also please let
me know which common driver code i need to use which can match even a
little to our ARM 926 EJ-S board.
Thanks a lot in advance..
Riddhi...
our ARM926EJ-S Board
2)For Our board interrrupt is not generated on insertion /removal of
SD card rather the details of card presence is stored in a
register .So here i had a doubt like can I use polling method instead
of waiting for interrupt for card insertion /removal event and then
inform bus driver using SDHCDIndicateSlotStateChange..
3) We have added following components from the catalog
a)SD Memory
b)FAT File System
so is there any other catalog components i need to add from catalog???
4) we have done following registry settings
[HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]
"Order"=dword:15
"Dll"="SDBus.dll"
"Prefix"="SDC"
"ThreadPriority"=dword:64 ; default thread priority for
dispatch thread
"RequestListDepth"=dword:30 ; pre-allocated requests
"IClass"=multi_sz:"{20FA98A8-B298-4b32-8D72-C716AEE2FA84}=
%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="Storage Card"
"MountAsRoot"=dword:1
"DefaultFileSystem"="FATFS"
"DisablePowerManagement"="1"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDMemory]
"Order"=dword:17
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"Profile"="SDMemory"
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class
\SDMemory_Class]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"BlockTransferSize"=dword:64 ; Overwrite from default 64 blocks.
Send no more than 200=(100kB/0.5kB) blocks of data per bus transfer
"Profile"="SDMemory"
"FSD"="FATFS.DLL"
"IOCTL"=dword:00000004
"IClass"=multi_sz:"{A4E7EDDA-
E575-4252-9D6B-4195D48BB865}","{A32942B7-920C-486b-
B0E6-92A702A99B35}"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC]
"Dll" = "SDHC.Dll"
"Prefix" = "SDH"
"Order" = dword:0
"FriendlyName" = "SDHC Driver"
"Ioctl" = dword:0
"ControllerISTPriority"=dword:64
"Index"=dword:2
Are this registry settings enough or do i need to add few more entries
4) Also we were successful in card detection using polling method but
i am not getting where exactly or in which api of my pdd i need to
implement commands like block read and block write and also please let
me know which common driver code i need to use which can match even a
little to our ARM 926 EJ-S board.
Thanks a lot in advance..
Riddhi...