71

帖子

0

TA的资源

一粒金砂(初级)

21
 
以下配置还是不可以
;HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]  
   "SYSTEMHIVE"="system.hv"   
   "Start DevMgr"=dword:1
   "RegistryFlags"=dword:1

[HKEY_LOCAL_MACHINE\init\BootVars]
   "DefaultUser"="default"

[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
        "21"= "BINFS"
        
[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
                "Folder"="BINFS"
                "FriendlyName"="Bin FileSystem"
                "Dll "= "binfs.dll "
;   MountFlags:
                "MountFlags"=dword:11
                "BootPhase"=dword:0
                "Flags"=dword:1000
               
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
  "DriverPath"="Drivers\\BlockDevice\\SMFLASH"
  "LoadFlags"=dword:1
  "MountFlags"=dword:11
  ;"BootPhase"=dword:1
  "BootPhase"=dword:0
  "Flags"=dword:1000
  
  [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
  "DefaultFileSystem"="BINFS"
  "PartitionDriver"="mspart.dll"
  "AutoFormat "=dword:1
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "MountFlags"=dword:11
  "Folder"="ResidentFlash"
  "Name"="Microsoft Flash Disk"
  "BootPhase"=dword:0
  "Flags"=dword:1000
  MountHidden"=dword:0
  
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFLASH]
  "Prefix"="DSK"
  "Dll"="smflash.dll"
  ;"Index"=dword:1
  "Order"=dword:0
  "Ioctl"=dword:4
  "Profile"="SMFLASH"
  "FriendlyName"="MS Flash Driver"
  "MountFlags"=dword:11
  ;"BootPhase"=dword:1
  "BootPhase"=dword:0
  "Flags"=dword:1000
  
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]  
  ;"Flags"=dword:14
  ;"FormatTfat"=dword:1
  ;"CheckForFormat"=dword:1
  "MountFlags "=dword:2
  "Flags "=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
  ;"Flags"=dword:00000014  ;FATFS_TFAT_ALWAYS|FATFS_FORCE_TFAT
  ;"MountFlags"=dword:0
   "MountFlags "=dword:0
   "Flags "=dword:1000     
; END HIVE BOOT SECTION

回复

68

帖子

0

TA的资源

一粒金砂(初级)

22
 
修改成如下,还是不行
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]  
   "SYSTEMHIVE"="system.hv"   
   "Start DevMgr"=dword:1
   "RegistryFlags"=dword:1
   "Flags"=dword:1000
[HKEY_LOCAL_MACHINE\init\BootVars]
   "DefaultUser"="default"

[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
          "21"="BINFS"
        
[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
                "Folder"="BINFS"
                "FriendlyName"="Bin FileSystem"
                "Dll"="binfs.dll"
;   MountFlags:
                "MountFlags"=dword:11
                "BootPhase"=dword:0
                "Flags"=dword:1000
               
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
  "DriverPath"="Drivers\\BlockDevice\\SMFLASH"
  "LoadFlags"=dword:1
  "MountFlags"=dword:11
  ;"BootPhase"=dword:1
  "BootPhase"=dword:0
  "Flags"=dword:1000
  
  [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
  "DefaultFileSystem"="BINFS"
  "PartitionDriver"="mspart.dll"
  "AutoFormat"=dword:1
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "MountFlags"=dword:11
  "Folder"="ResidentFlash"
  "Name"="Microsoft Flash Disk"
  "BootPhase"=dword:0
  "Flags"=dword:1000
  MountHidden"=dword:0
  
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFLASH]
  "Prefix"="DSK"
  "Dll"="smflash.dll"
  ;"Index"=dword:1
  "Order"=dword:0
  "Ioctl"=dword:4
  "Profile"="SMFLASH"
  "FriendlyName"="MS Flash Driver"
  "MountFlags"=dword:11
  ;"BootPhase"=dword:1
  "BootPhase"=dword:0
  "Flags"=dword:1000
  
;[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]  
  ;"Flags"=dword:14
  ;"FormatTfat"=dword:1
  ;"CheckForFormat"=dword:1
;  "MountFlags"=dword:2
;  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
  ;"Flags"=dword:00000014  ;FATFS_TFAT_ALWAYS|FATFS_FORCE_TFAT
  ;"MountFlags"=dword:0
   "MountFlags"=dword:0
   "Flags"=dword:1000     
; END HIVE BOOT SECTION
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

23
 
我还是不太明白你的BINFS的注册信息到底在那里?
根据你的注册表信息,可以知道通过filesys的AutoLoad了SMFLASH
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
  "DriverPath"="Drivers\\BlockDevice\\SMFLASH"
  "LoadFlags"=dword:1
  "MountFlags"=dword:11
  ;"BootPhase"=dword:1
  "BootPhase"=dword:0
  "Flags"=dword:1000
其路径为Drivers\\BlockDevice\\SMFLASH
那么在这个路径下的注册表信息
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFLASH]
  "Prefix"="DSK"
  "Dll"="smflash.dll"
  ;"Index"=dword:1
  "Order"=dword:0
  "Ioctl"=dword:4
  "Profile"="SMFLASH"
  "FriendlyName"="MS Flash Driver"
  "MountFlags"=dword:11
  ;"BootPhase"=dword:1
  "BootPhase"=dword:0
  "Flags"=dword:1000
如果你使用BINFS的话,这里的Dll应该是对于BINFS的Block驱动的接口层。根据在这个键下的Profile从Storage下得到分区的内容,也就是下面的内容:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
  "DefaultFileSystem"="BINFS"
  "PartitionDriver"="mspart.dll"
  "AutoFormat"=dword:1
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "MountFlags"=dword:11
  "Folder"="ResidentFlash"
  "Name"="Microsoft Flash Disk"
  "BootPhase"=dword:0
  "Flags"=dword:1000
  MountHidden"=dword:0
同样的,对于FATFS来说,也有差不多的注册信息。
只不过是FATFS不需要在AutoLoad下,一般放在
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]下面,在这个键下放FATFs的Profile
"Profile"="FlashDisk"
这里还要设置FATFS部分的Block接口的Dll等信息。
同样根据这个Profile需要设置
[HKEY_LOCAL_MACHINE\System\Storagemanager\Profiles\FlashDisk]
这里设置什么分区驱动Dll,MountFlag等信息。

但是从你的注册信息里要不就是只有BINFS,要不就是只有FATFS。而且两个部分的Profile都是一样的。所以你要先把
这两个的注册表信息都了解了才能设置,不是说随便组合一下就可以的。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

24
 
在实现Hive注册表前FlashDisk是不是已经正常可以使用,如果可以的话请检查下面几项:
1,添加Hive-based Registry Feature后有Clean Sysgen过吗?
2.看了这么多LZ有检查过default.hv, user.hv和boot.hv放进Kernel里面了吗?
3.要存放注册表的分区需设置为"MountAsBootable"=dword:1
    "MountAsRoot"=dword:1

The run-time image originally did not include the hive-based registry, and a full clean build did not complete.
Be sure you complete a clean build after including the Hive-based Registry Catalog item in your OS design.

For a system with a hive-based registry that resides on a FATFS partition, the NK region files must also include default.hv, device.exe, devmgr.dll, diskcache.dll, fatfsd.dll, fatutil.dll, pm.dll, relfsd.dll, and user.hv. For MUI, add wince.nls, and for the debugger, add hd.dll, osaxst0.dll, and osaxst1.dll.
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

25
 
还想问LZ一个问题,你的NandFlash驱动是FMD吗?那么在BootLoader中是不是要
把BINFS部分的Block都设置为Reserved?
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

26
 
NandFlash驱动是FMD,就是64m的k1208,他的分区就是前面一小部分留给了bootloader,接着就是binfs,存放nk,其他的就是fat了
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

27
 
在common.bib中将boot.hv,user.hv,default.hv NKXL
   boot.hv         $(_FLATRELEASEDIR)\boot.hv                  NK  SHXL
   default.hv      $(_FLATRELEASEDIR)\default.hv               NK  SHXL
   user.hv         $(_FLATRELEASEDIR)\user.hv                  NK  SHXL
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

28
 
如果有和我使用的平台相同的,做成hive的,可不可以看一看设置是怎么实现的
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

29
 
你用FMD驱动的话按照PB文档上说BINFS这部分使用默认,在你FAT部分看也加入了Boot.hv。
这样看好像也没有什么问题,你再检查一下你的boot.hv是不是放在RamImage部分了,在Ce.bib里
这部分信息都可以看到的。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

30
 
ce.bib中
  
boot.hv         D:\WINCE500   \PBWorkspaces\ca\RelDir\smdk2440a_ARMV4I_Release\boot.hv                  NK  SHXL
   default.hv      D:\WINCE500\PBWorkspaces\ca\RelDir\smdk2440a_ARMV4I_Release\default.hv               NK  SHXL
   user.hv         D:\WINCE500\PBWorkspaces\ca\RelDir\smdk2440a_ARMV4I_Release\user.hv                  NK  SHXL
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

31
 
你的NK是RAMIMAGE吗?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

32
 
MEMORY
    NK      80200000  01E00000  RAMIMAGE
    RAM     82000000  01E00000  RAM
    FLASH   92000000  00100000  RESERVED
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

33
 
你这哪里是Binfs的文件系统?
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

34
 
那这是啥系统??
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

35
 
引用 19 楼 changsz 的回复:
不用时是这样的
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
  "SYSTEMHIVE"="system.hv"
    "Start DevMgr"=dword:1
  "RegistryFlags"=dword:1

[HKEY_LOCAL_MACHINE\init\BootVars]
  "DefaultUser"="default"

[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFLASH]
  "Prefix"="DSK"
  "Dll"="smflash.dll"
  "Order"=dword:0
  "Ioctl"=dword:4
  "Profile"="SMFLASH"
  "FriendlyName"="MS Flash Driver"
  "MountFlags"=dword:11
  "BootPhase"=dword:1
  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
  "DriverPath"="Drivers\\BlockDevice\\SMFLASH"
  "LoadFlags"=dword:1
  "MountFlags"=dword:11
  "BootPhase"=dword:1
  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
  "DefaultFileSystem"="FATFS"
  "PartitionDriver"="mspart.dll"
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "AutoFormat"=dword:1
  "Folder"="ResidentFlash"
  "Name"="Microsoft Flash Disk"
  "BootPhase"=dword:0
  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
  "FriendlyName"="FAT FileSystem"
  "Dll"="fatfsd.dll"
  "Flags"=dword:00280014
  "Paging"=dword:1
  "CacheSize"=dword:0
  "EnableCacheWarm"=dword:0
  "EnableCache"=dword:1
  "MountFlags"=dword:2

你没有用Hive-Registry时是这样的。而且这时你的系统是可以正常启动的,并且你的FAT分区也可以正常工作
那么在你能正常工作的注册表上进行修改,改成下面这个样子看看能不能行:
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
  "SYSTEMHIVE"="Documents and Settings\\system.hv"
  "PROFILEDIR"="Documents and Settings\\"
  "Flags"=dword:3
  "DefaultUser"="default"
  "RegistryFlags"=dword:1  
   
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\SMFLASH]
  "Prefix"="DSK"
  "Dll"="smflash.dll"
  "Order"=dword:0
  "Ioctl"=dword:4
  "Profile"="SMFLASH"
  "FriendlyName"="MS Flash Driver"
  "MountFlags"=dword:11
  "BootPhase"=dword:0
  "Flags"=dword:1000

[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\System\StorageManager\Profiles\SMFLASH]
  "DefaultFileSystem"="FATFS"
  "PartitionDriver"="mspart.dll"
  "AutoMount"=dword:1
  "AutoPart"=dword:1
  "AutoFormat"=dword:1
  "Folder"="ResidentFlash"
  "Name"="Microsoft Flash Disk"
  "BootPhase"=dword:0
  "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
  "FriendlyName"="FAT FileSystem"
  "Dll"="fatfsd.dll"
  "Flags"=dword:00280014
  "Paging"=dword:1
  "CacheSize"=dword:0
  "EnableCacheWarm"=dword:0
  "EnableCache"=dword:1
  "MountAsBootable"=dword:1

; END HIVE BOOT SECTION
如果还要是不能正常启动你可以上网找这个d_readvol.exe工具去看你的Boot.hv到底有哪些内容。看看什么地方出了问题
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

36
 
引用 33 楼 changsz 的回复:
那这是啥系统??

你这不是Ram Based文件系统吗?在系统起动的时候就把整个Image拷到RAM里然后再运行的
如果是Binfs文件系统,起码要有Chain, NANDIMAGE和RAMIMAGE
建议你先多看看帮助文档吧,Enable Hive Base的详细步骤写得非常清楚
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

37
 
引用 35 楼 hzdysymbol 的回复:
引用 33 楼 changsz 的回复:
那这是啥系统??

你这不是Ram Based文件系统吗?在系统起动的时候就把整个Image拷到RAM里然后再运行的
如果是Binfs文件系统,起码要有Chain, NANDIMAGE和RAMIMAGE
建议你先多看看帮助文档吧,Enable Hive Base的详细步骤写得非常清楚

请教一下,像LZ这样把这个OS都Load到Ram的方式不可以使用Hive-Registry吗?
我感觉Load到Ram的只是boot.hv吧,system.hv可以存放在FAT分区啊?
还请讲解一下,多谢!
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

38
 
引用 36 楼 gsymichael 的回复:
引用 35 楼 hzdysymbol 的回复:
引用 33 楼 changsz 的回复:
那这是啥系统??

你这不是Ram Based文件系统吗?在系统起动的时候就把整个Image拷到RAM里然后再运行的
如果是Binfs文件系统,起码要有Chain, NANDIMAGE和RAMIMAGE
建议你先多看看帮助文档吧,Enable Hive Base的详细步骤写得非常清楚

请教一下,像LZ这样把这个OS都Load到Ram的方式不可以使用Hive-Registry吗?
我感觉Load到Ram的只是boot.hv吧,sy…

这样的系统实现Hive Based Registry应该是没有问题的,Binfs跟Hive Based其实没有什么关联,两者可以单独实现。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

39
 
ok!谢谢gsymichael
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(中级)

40
 
看下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表