打印

S3c6410 实现Wince600上 Xip+Hive注册表保存

[复制链接]
2047|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ptlsmile|  楼主 | 2010-12-27 16:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
S3c6410 实现Wince600 Xip+Hive注册表保存


软件平台
:wince600
硬件平台:UT_S3C6410开发板

实现方法
:
1.
必须加入HIVE based regiters这个组件到OS(PB右边的文件系统选项里
)
2.
注册表添加,必须将一下部分加入你的注册表中实现
hive
;HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\system.hv" ;system.hv
会保存到
\HDD\Documents and Settings\system.hv
;"PROFILEDIR"="Documents and Settings" ;user.hv
会保存到
\HDD\Documents and Settings\default\user.hv
"Start DevMgr"=dword:1 ;
这个说是启动device.exe,但是wince 5.0好像不用这个

"DefaultUser"="default" ;
咱们只有一个用户default,基本上就是决定user.hv的路径了

"Flags"=dword:3 ;
这个应该是wince 5.0下决定在哪个阶段启动device.exe的表项

"RegistryFlags"=dword:1 ;
这个就是设置注册表每次改动后自动flush
system.hv
;###########################################################################
;
这个部分是binfs的注册表项,如果你不是用的binfs那么不用将它们拉到boot.hv

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFlash]
"DriverPath"="Drivers\\BlockDevice\\SMFlash"
"LoadFlags"=dword:1
"MountFlags"=dword:11
"BootPhase"=dword:0
"Flags"=dword:1000
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFlash]
"Prefix"="DSK"
"Dll"="BIBDrv.dll"
"Order"=dword:0
"Ioctl"=dword:4
"Profile"="SMFlash"
"FriendlyName"="Samsung Flash Driver"
"MountFlags"=dword:11
"BootPhase"=dword:0
"Flags"=dword:1000
; Bind BINFS to the block driver
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFlash]
"DefaultFileSystem"="BINFS" ;binfs
的路径为
/BINFS
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountFlags"=dword:11
"Folder"="ResidentFlash"
"Name"="Samsung Flash Disk"
"BootPhase"=dword:0
"Flags"=dword:1000
"MountHidden"=dword:0
;###########################################################################
;###########################################################################
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PocketStore]
"Prefix"="DSK"
"Dll"="ONDisk.dll"
"Order"=dword:1
"Profile"="PocketStore"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"BmlVolumeId"=dword:0 ; BML volume ID = 0
"BmlPartitionId"=dword:8 ; BML parition ID = PARTITION_ID_FILESYSTEM
"Index"=dword:2
"Flags"=dword:1000 ;
这个flag指定这个驱动只在boot.hv中加载一次

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PocketStore]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountAsBootable"=dword:1 ;
这个是wince 5.0下指定这个分区保存system.hv的关键

"Folder"="HDD"
"Name"="NAND Drive"
"Ioctl"=dword:4
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PocketStore\FATFS]
"EnableCacheWarm"=dword:0

ENDIF
;###########################################################################
;END HIVE BOOT SECTION
; HIVE BOOT SECTION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Support BINFS Section
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Add BinFS to partition table
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"21"="BINFS"
[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
"Folder"="BINFS"
"FriendlyName"="Bin FileSystem"
"Dll"="binfs.dll"
; MountFlags:
; 0x10 specifies that this file system is to be mounted as an external
; ROM filesystem shadowing the \windows directory
; 0x1 specifies that the mountpoint \BINFS is to be hidden
;
"MountFlags"=dword:10
"BootPhase"=dword:0
; END HIVE BOOT SECTION

3. config.bib
文件修改

MEMORY
pdwXIPLoc 00000000 803FF000 FIXUPVAR
XIPKERNEL 80200000 001FF000 RAMIMAGE
CHAIN 803FF000 00001000 RESERVED
NK 80400000 01E00000 NANDIMAGE
RAM 80400000 07C00000 RAM
FLASH 92000000 00100000 RESERVED

CONFIG
AUTOSIZE=ON
COMPRESSION=ON
DLLADDR_AUTOSIZE=ON
KERNELFIXUPS=ON
PROFILE=OFF
RAM_AUTOSIZE=OFF
ROMFLAGS=0
ROMSIZE=01E00000
ROMSTART=800B8000
ROMWIDTH=32
ROM_AUTOSIZE=OFF
XIPSCHAIN=803FF000
4.
必须将下列文件加入到XIPKERNEL

"nk.exe",
"coredll.dll",
"filesys.exe",
"fatfsd.dll",
"diskcache.dll",
"fatutil.dll",
"binfs.dll",
"fsdmgr.dll",
"mspart.dll",
"smflash.dll",
"boot.hv",
加入方法如下
:
nk.exe $(_FLATRELEASEDIR)\kern.exe XIPKERNEL SH
其他项类似方法添加
.
:可以直接修改common.bib文件

编译完成后,xip.bin文件烧写到你的板子上即可
.

S3c6410 实现Wince600 Xip+Hive注册表保存
软件平台:wince600
硬件平台:UT_S3C6410开发板
实现方法:
1.
必须加入HIVE based regiters这个组件到OS(PB右边的文件系统选项里)
2.
注册表添加,必须将一下部分加入你的注册表中实现hive
;HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\system.hv" ;system.hv
会保存到\HDD\Documents and Settings\system.hv
;"PROFILEDIR"="Documents and Settings" ;user.hv
会保存到\HDD\Documents and Settings\default\user.hv
"Start DevMgr"=dword:1 ;
这个说是启动device.exe,但是wince 5.0好像不用这个
"DefaultUser"="default" ;
咱们只有一个用户default,基本上就是决定user.hv的路径了
"Flags"=dword:3 ;
这个应该是wince 5.0下决定在哪个阶段启动device.exe的表项
"RegistryFlags"=dword:1 ;
这个就是设置注册表每次改动后自动flushsystem.hv
;###########################################################################
;
这个部分是binfs的注册表项,如果你不是用的binfs那么不用将它们拉到boot.hv
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFlash]
"DriverPath"="Drivers\\BlockDevice\\SMFlash"
"LoadFlags"=dword:1
"MountFlags"=dword:11
"BootPhase"=dword:0
"Flags"=dword:1000
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFlash]
"Prefix"="DSK"
"Dll"="BIBDrv.dll"
"Order"=dword:0
"Ioctl"=dword:4
"Profile"="SMFlash"
"FriendlyName"="Samsung Flash Driver"
"MountFlags"=dword:11
"BootPhase"=dword:0
"Flags"=dword:1000
; Bind BINFS to the block driver
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFlash]
"DefaultFileSystem"="BINFS" ;binfs
的路径为/BINFS
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountFlags"=dword:11
"Folder"="ResidentFlash"
"Name"="Samsung Flash Disk"
"BootPhase"=dword:0
"Flags"=dword:1000
"MountHidden"=dword:0
;###########################################################################
;###########################################################################
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PocketStore]
"Prefix"="DSK"
"Dll"="ONDisk.dll"
"Order"=dword:1
"Profile"="PocketStore"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"BmlVolumeId"=dword:0 ; BML volume ID = 0
"BmlPartitionId"=dword:8 ; BML parition ID = PARTITION_ID_FILESYSTEM
"Index"=dword:2
"Flags"=dword:1000 ;
这个flag指定这个驱动只在boot.hv中加载一次
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PocketStore]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountAsBootable"=dword:1 ;
这个是wince 5.0下指定这个分区保存system.hv的关键
"Folder"="HDD"
"Name"="NAND Drive"
"Ioctl"=dword:4
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PocketStore\FATFS]
"EnableCacheWarm"=dword:0

ENDIF
;###########################################################################
;END HIVE BOOT SECTION
; HIVE BOOT SECTION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Support BINFS Section
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Add BinFS to partition table
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"21"="BINFS"
[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
"Folder"="BINFS"
"FriendlyName"="Bin FileSystem"
"Dll"="binfs.dll"
; MountFlags:
; 0x10 specifies that this file system is to be mounted as an external
; ROM filesystem shadowing the \windows directory
; 0x1 specifies that the mountpoint \BINFS is to be hidden
;
"MountFlags"=dword:10
"BootPhase"=dword:0
; END HIVE BOOT SECTION

3. config.bib
文件修改
MEMORY
pdwXIPLoc 00000000 803FF000 FIXUPVAR
XIPKERNEL 80200000 001FF000 RAMIMAGE
CHAIN 803FF000 00001000 RESERVED
NK 80400000 01E00000 NANDIMAGE
RAM 80400000 07C00000 RAM
FLASH 92000000 00100000 RESERVED

CONFIG
AUTOSIZE=ON
COMPRESSION=ON
DLLADDR_AUTOSIZE=ON
KERNELFIXUPS=ON
PROFILE=OFF
RAM_AUTOSIZE=OFF
ROMFLAGS=0
ROMSIZE=01E00000
ROMSTART=800B8000
ROMWIDTH=32
ROM_AUTOSIZE=OFF
XIPSCHAIN=803FF000
4.
必须将下列文件加入到XIPKERNEL
"nk.exe",
"coredll.dll",
"filesys.exe",
"fatfsd.dll",
"diskcache.dll",
"fatutil.dll",
"binfs.dll",
"fsdmgr.dll",
"mspart.dll",
"smflash.dll",
"boot.hv",
加入方法如下:
nk.exe $(_FLATRELEASEDIR)\kern.exe XIPKERNEL SH
其他项类似方法添加.
:可以直接修改common.bib文件
编译完成后,xip.bin文件烧写到你的板子上即可.



更多技术交流http://www.urbetter.com/index.asp



更多技术交流http://www.urbetter.com/index.asp

相关帖子

沙发
ptlsmile|  楼主 | 2011-1-17 08:55 | 只看该作者
友坚科技致力于成为系统集成商和软件开发商的最佳合作伙伴!

使用特权

评论回复
板凳
ptlsmile|  楼主 | 2011-2-10 09:07 | 只看该作者
大家新年好啊!

使用特权

评论回复
地板
ptlsmile|  楼主 | 2011-2-21 09:27 | 只看该作者
更多精彩 在友坚

使用特权

评论回复
5
ptlsmile|  楼主 | 2011-3-30 15:15 | 只看该作者
支持一下啊

使用特权

评论回复
6
ptlsmile|  楼主 | 2011-4-6 11:14 | 只看该作者
出来冒冒泡~~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

120

帖子

1

粉丝