S3c6410 实现Wince600上 Xip+Hive注册表保存<br /> 今天在6410+wince600系统上实现了 xip+hive注册表保存,现在贴出来跟大家一起分享一下.<br />软件平台:wince600<br />硬件平台:深圳友坚恒天科技 UT_S3C6410开发板 http://www.urbetter.com<br /><br /><br />实现方法:<br />1. 必须加入HIVE based regiters这个组件到OS(在PB右边的文件系统选项里)<br />2. 注册表添加,必须将一下部分加入你的注册表中实现hive<br /> ;HIVE BOOT SECTION <br /><br />[HKEY_LOCAL_MACHINEinitBootVars]<br />"SYSTEMHIVE"="Documents and Settingssystem.hv" ;system.hv会保存到HDDDocuments and Settingssystem.hv<br />;"PROFILEDIR"="Documents and Settings" ;user.hv会保存到HDDDocuments and Settingsdefaultuser.hv<br />"Start DevMgr"=dword:1 ;这个说是启动device.exe,但是wince 5.0好像不用这个<br />"DefaultUser"="default" ;咱们只有一个用户default,基本上就是决定user.hv的路径了<br />"Flags"=dword:3 ;这个应该是wince 5.0下决定在哪个阶段启动device.exe的表项<br />"RegistryFlags"=dword:1 ;这个就是设置注册表每次改动后自动flush到system.hv<br /><br />;###########################################################################<br />;这个部分是binfs的注册表项,如果你不是用的binfs那么不用将它们拉到boot.hv中<br />[HKEY_LOCAL_MACHINESystemStorageManagerAutoLoadSMFlash]<br />"DriverPath"="DriversBlockDeviceSMFlash"<br />"LoadFlags"=dword:1<br />"MountFlags"=dword:11<br />"BootPhase"=dword:0<br />"Flags"=dword:1000<br />[HKEY_LOCAL_MACHINEDriversBlockDeviceSMFlash]<br />"Prefix"="DSK"<br />"Dll"="BIBDrv.dll"<br />"Order"=dword:0<br />"Ioctl"=dword:4<br />"Profile"="SMFlash"<br />"FriendlyName"="Samsung Flash Driver"<br />"MountFlags"=dword:11<br />"BootPhase"=dword:0<br />"Flags"=dword:1000<br />; Bind BINFS to the block driver<br />[HKEY_LOCAL_MACHINESystemStorageManagerProfilesSMFlash]<br />"DefaultFileSystem"="BINFS" ;binfs的路径为/BINFS<br />"PartitionDriver"="mspart.dll"<br />"AutoMount"=dword:1<br />"AutoPart"=dword:1<br />"MountFlags"=dword:11<br />"Folder"="ResidentFlash"<br />"Name"="Samsung Flash Disk"<br />"BootPhase"=dword:0<br />"Flags"=dword:1000<br />"MountHidden"=dword:0 <br />;###########################################################################<br /><br />[HKEY_LOCAL_MACHINEDriversBuiltInPocketStore]<br /> "Prefix"="DSK"<br /> "Dll"="ONDisk.dll"<br /> "Order"=dword:1<br /> "Profile"="PocketStore"<br /> "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"<br /> "BmlVolumeId"=dword:0 ; BML volume ID = 0<br /> "BmlPartitionId"=dword:8 ; BML parition ID = PARTITION_ID_FILESYSTEM<br /> "Index"=dword:2 <br /> "Flags"=dword:1000 ;这个flag指定这个驱动只在boot.hv中加载一次<br />[HKEY_LOCAL_MACHINESystemStorageManagerProfilesPocketStore]<br /> "DefaultFileSystem"="FATFS"<br /> "PartitionDriver"="mspart.dll"<br /> "AutoMount"=dword:1<br /> "AutoPart"=dword:1<br /> "AutoFormat"=dword:1<br /> "MountAsBootable"=dword:1 ;这个是wince 5.0下指定这个分区保存system.hv的关键<br /> "Folder"="HDD"<br /> "Name"="NAND Drive"<br /> "Ioctl"=dword:4<br /><br />[HKEY_LOCAL_MACHINESystemStorageManagerProfilesPocketStoreFATFS]<br /> "EnableCacheWarm"=dword:0<br /> <br />ENDIF<br />;###########################################################################<br /><br />;END HIVE BOOT SECTION<br /><br />; HIVE BOOT SECTION <br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; <br />; Support BINFS Section <br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; <br />; <br />; Add BinFS to partition table <br />[HKEY_LOCAL_MACHINESystemStorageManagerPartitionTable] <br /> "21"="BINFS" <br /><br />[HKEY_LOCAL_MACHINESystemStorageManagerBINFS] <br /> "Folder"="BINFS" <br /> "FriendlyName"="Bin FileSystem" <br /> "Dll"="binfs.dll" <br /> ; MountFlags: <br /> ; 0x10 specifies that this file system is to be mounted as an external <br /> ; ROM filesystem shadowing the windows directory <br /> ; 0x1 specifies that the mountpoint BINFS is to be hidden <br /> ; <br /> "MountFlags"=dword:10 <br /> "BootPhase"=dword:0 <br />; END HIVE BOOT SECTION <br /><br /><br /><br />3. config.bib文件修改<br />MEMORY <br /> pdwXIPLoc 00000000 803FF000 FIXUPVAR <br /> XIPKERNEL 80200000 001FF000 RAMIMAGE <br /> CHAIN 803FF000 00001000 RESERVED <br /> NK 80400000 01E00000 NANDIMAGE <br /> RAM 80400000 07C00000 RAM <br /> FLASH 92000000 00100000 RESERVED <br /> <br />CONFIG <br /> AUTOSIZE=ON <br /> COMPRESSION=ON <br /> DLLADDR_AUTOSIZE=ON <br /> KERNELFIXUPS=ON <br /> PROFILE=OFF <br /> RAM_AUTOSIZE=OFF <br /> ROMFLAGS=0 <br /> ;ROMSIZE=01E00000 <br /> ;ROMSTART=800B8000 <br /> ;ROMWIDTH=32 <br /> ROM_AUTOSIZE=OFF <br /> XIPSCHAIN=803FF000 <br /><br />4. 必须将下列文件加入到XIPKERNEL里<br />"nk.exe",<br /> "coredll.dll",<br /> "filesys.exe",<br /> "fatfsd.dll",<br /> "diskcache.dll",<br /> "fatutil.dll",<br /> "binfs.dll",<br /> "fsdmgr.dll",<br /> "mspart.dll",<br /> "smflash.dll",<br /> "boot.hv",<br />加入方法如下:<br />nk.exe $(_FLATRELEASEDIR)kern.exe XIPKERNEL SH<br />其他项类似方法添加.<br />注:可以直接修改common.bib文件<br />编译完成后,将xip.bin文件烧写到你的板子上即可.<br /><br />本人在天津地区长期代理深圳友坚恒天科技UT_S3C6410 UT_S3C2450 UT_S3C2440开发板。<br />联系人:王 先 生 <br />移动电话:15002281827<br />MSN:urbetter_tj@hotmail.com<br />QQ:1070615843<br />E-mail:urbetter_tj@126.com<br /> |
|