免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1726 | 回复: 0
打印 上一主题 下一主题

S3c6410 实现Wince600上 Xip+Hive注册表保存 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-18 15:40 |只看该作者 |倒序浏览
S3c6410 实现Wince600上 Xip+Hive注册表保存
    今天在6410+wince600系统上实现了 xip+hive注册表保存,现在贴出来跟大家一起分享一下.
软件平台:wince600
硬件平台:深圳友坚恒天科技 UT_S3C6410开发板       http://www.urbetter.com


实现方法:
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文件烧写到你的板子上即可.

本人在天津地区长期代理深圳友坚恒天科技UT_S3C6410  UT_S3C2450  UT_S3C2440开发板。
联系人:王 先 生
移动电话:15002281827
MSN:urbetter_tj@hotmail.com
QQ:1070615843
E-mail:urbetter_tj@126.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP