阅读:3278回复:6
如何实现SD或CF卡注册表存储
2440 WinCE5.0
目前已实现Flash注册表Hive存储,现在希望存储在SD卡中 存储在Flash中时的注册表是: [HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash] "DriverPath"="Drivers\\BuiltIn\\MSFlash" "LoadFlags"=dword:1 "BootPhase"=dword:0 "Order"=dword:0 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash] "Profile"="FlashDisk" "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}" "Order"=dword:0 "Index"=dword:1 "FriendlyName"="MSFLASH Driver" "Dll"="smflash.dll" "Prefix"="DSK" "Flags"=dword:1000 可是SD驱动是分层的,驱动有多个 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_SMDK2440] "Order"=dword:21 "Dll"="sdhc_sc2440.dll" ; SD Memory Storage class driver [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class] "Dll"="SDMemory.dll" "Prefix"="DSK" "BlockTransferSize"=dword:40 ; send no more than 64 blocks of data per bus transfer "Profile"="SDMemory" "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}", "{A32942B7-920C-486b-B0E6-92A702A99B35}" [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\AutoLoad\SDMemory] "DriverPath"=multi_sz:"Drivers\\BuiltIn\\SDHC_SMDK2440","Drivers\\SDCARD\\ClientDrivers\\Class\\MMC_Class","Drivers\\Builtin\\SDBusDriver" "LoadFlags"=dword:1 "BootPhase"=dword:0 "Order"=dword:0 [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class] "Dll"="SDMemory.dll" "Prefix"="DSK" "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 ;"IdleTimeout"=dword:7D0 ; 2000 milliseconds ;"IdlePowerState"=dword:2 ; 0 == D0, 1 == D1, etc. ;"DisablePowerManagement"="" ; if value present, then disable (remove value to enable) "Profile"="SDMemory" "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}", "{A32942B7-920C-486b-B0E6-92A702A99B35}" "Flags"=dword:1000 ;add nand flash gegister "Order"=dword:0 "Index"=dword:1 [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory] "Name"="SD Memory Card" "Folder"="Storage Card" "DefaultFileSystem"="FATFS" "PartitionDriver"="mspart.dll" "AutoPart"=dword:1 "AutoMount"=dword:1 "AutoFormat"=dword:1 "MountAsRoot"=dword:1 "BootPhase"=dword:0 "Flags"=dword:1000 [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\FATFS] ;"MountAsRoot"=dword:1 ;"Flags"=dword:14 "FormatTfat"=dword:1 "CheckForFormat"=dword:1 "MountAsBootable"=dword:1 "Flags"=dword:1000 目前启动不起来 看到有人已经做过,多谢指点一下 |
|
|
沙发#
发布于:2008-03-27 09:01
学习学习.............................................................
|
|
板凳#
发布于:2008-03-27 10:05
你要把SD的相关注册表都放在
; HIVE BOOT SECTION ; END HIVE BOOT SECTION 中间,同时把存放system.hv的路径改到SD的相关路径 |
|
地板#
发布于:2008-03-29 20:59
我没详细看你的注册表,把握好两点就行了:
1.你要把SD的相关注册表都放在 ; HIVE BOOT SECTION ; END HIVE BOOT SECTION 中间,同时把存放system.hv的路径改到SD的相关路径 2.存放HIVE的设备一定要直接被filesys.exe加载. |
|
|
地下室#
发布于:2008-04-11 17:03
版主,你这句话是什么意思 2.存放HIVE的设备一定要直接被filesys.exe加载,解释下了^_^
|
|
5楼#
发布于:2012-09-04 15:11
我怎么也遇到这个问题,
请教有谁解决了吗? |
|
6楼#
发布于:2012-09-04 15:13
|
|