OpenStore的用法

九个太阳2023 2010-01-14 02:59:24
hFlash = OpenStore(L"MSFlash");
hFlash = OpenStore(L"DSK0:");
这两句话有什么区别,为什么我在multi-bin的情况下,只能用第一句;而在非multi-bin的情况下只能用第二句??
请教高手~~
...全文
245 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
九个太阳2023 2010-01-18
  • 打赏
  • 举报
回复
差不多弄明白了,结贴
wolfmvp 2010-01-16
  • 打赏
  • 举报
回复
职业+友情帮顶!学习学习…
九个太阳2023 2010-01-15
  • 打赏
  • 举报
回复
http://www.armce.com/bbs/viewthread.php?tid=1166&highlight=
详细讨论StorageManager的机制,希望大家各抒己见,共同提高~~
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
COPY后再make run time image
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
修改注册表不用rebuild,改完platform.reg后手动把它复制过去或者copy files to release dictory就行了。


我的CE5.0 release目录下的文件经常会自动被BSP下的覆盖,即使我没有点copy files to release dictory
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 veabol 的回复:]
........
不要改release下的注册表,改BSP下边的。
改release下的注册表会自动被BSP下的替换的,你再查看一下那个注册表,可能已经变回去了。
[/Quote]
没有变回去,我这么做是为了能够多试几次,不然每次修改BSP下的,都要rebuild下,很费时间的。。。。
我rebuild下试试
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
........
不要改release下的注册表,改BSP下边的。
改release下的注册表会自动被BSP下的替换的,你再查看一下那个注册表,可能已经变回去了。
kyzf 2010-01-14
  • 打赏
  • 举报
回复
来学习。
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
我在release目录下修改了platform.reg,然后makeimg,还是不行,
附上我的注册表关于flash的部分:


;-------------------------------------------------------------------------------
; @CESYSGEN IF FILESYS_FSREGHIVE
; HIVE BOOT SECTION
;
; We want start both storage and device manager. Flags value is combination of
; 0x0001 Start storage manager in boot phases 0 and 1 to load the boot
; file system.
; 0x0002 Start device manager in boot phase 1 to load the boot file system.
;
[HKEY_LOCAL_MACHINE\Init\BootVars]
"SYSTEMHIVE"="Documents and Settings\\system.hv"
"PROFILEDIR"="Documents and Settings"
"Start DevMgr"=dword:1
"RegistryFlags"=dword:1
"Flags"=dword:3

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
"Flags"=dword:00011000

; END HIVE BOOT SECTION
; @CESYSGEN ELSE

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
"Flags"=dword:00010000

; @CESYSGEN ENDIF FILESYS_FSREGHIVE
;-------------------------------------------------------------------------------


;-- Storage Manager Configuration ----------------------------------------------
; @CESYSGEN IF CE_MODULES_FSDMGR
;
; HIVE BOOT SECTION

; We don't want to use the ObjectStore for the hive location (default)
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\ObjectStore]
"MountAsBootable"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"DriverPath"="Drivers\\BuiltIn\\MSFlash"
"LoadFlags"=dword:1
"BootPhase"=dword:0
"Order"=dword:0
"Folder"="Flash"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
"MountAsBootable"=dword:1
"Flags"=dword:00000014
"FormatTFAT"=dword:1
"EnableWriteBack"=dword:1

IF IMGMULTIBIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Support BINFS Section
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"MountHidden"=dword:1
"MountAsROM"=dword:1
"Name"="FLASH Disk Block Device"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
"MountHidden"=dword:0
"MountAsROM"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
"DriverPath"="Drivers\\BuiltIn\\MSFlash"
;LoadFlags 0x01 == load synchronously
"LoadFlags"=dword:1
"Order"=dword:0
ENDIF IMGMULTIBIN

; END HIVE BOOT SECTION
; @CESYSGEN ENDIF CE_MODULES_FSDMGR
;-------------------------------------------------------------------------------


;-- NAND Flash Drivers ---------------------------------------------------------
; @CESYSGEN IF CE_MODULES_FSDMGR
; @XIPREGION IF PACKAGE_OEMXIPKERNEL
IF BSP_NONAND !
; HIVE BOOT SECTION
IF IMGONENAND
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
"Dll"="onenand.dll"
"Prefix"="DSK"
"Index"=dword:0
"Order"=dword:4
"MemBase"=multi_sz:"0x0C01E000","0x0C010020","0x0C000400","6E000000"
"MemLen"=multi_sz:"00002000","00000100","00001000","00000300"
"DmaCh"=dword:3
; CE_DRIVER_BLOCK_GUID
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="MSFlash"
ELSE
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
"Dll"="nand.dll"
"Prefix"="DSK"
"Index"=dword:0
"Order"=dword:4
"MemBase"=multi_sz:"6E000000","08000000"
"MemLen"=multi_sz:"00001000","00001000"
"DmaCh"=dword:3
; CE_DRIVER_BLOCK_GUID
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="MSFlash"
"BootPhase"=dword:0
"Flags"=dword:1000

ENDIF IMGONENAND
; END HIVE BOOT SECTION
ENDIF BSP_NONAND !
; @XIPREGION ENDIF PACKAGE_OEMXIPKERNEL
; @CESYSGEN ENDIF CE_MODULES_FSDMGR
;-------------------------------------------------------------------------------
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 veabol 的回复:]
我用Multi-bin设置了"Start DevMgr"=dword:1
[/Quote]
改过来了,嘿嘿,谢谢veabol,我试试
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
我用Multi-bin设置了"Start DevMgr"=dword:1
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hao507 的回复:]
引用 10 楼 guopeixin 的回复:
根本原因是driver的加载机制
一般的芯片方案中都做成了multi-bin情况下,使用storage manager加载flash driver;
而非multi-bin情况下,使用device.exe加载flash driver;
有关这一部分内容可以看一下存储管理的源代码

如果我在使用"Start DevMgr"=dword:1;是不是就在非Multi-bin用device。exe加载flashDriver?
[/Quote]
说反了吧?Start DevMgr"=dword:1后在Multi-bin下使用device.exe
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hao507 的回复:]
引用 10 楼 guopeixin 的回复:
根本原因是driver的加载机制
一般的芯片方案中都做成了multi-bin情况下,使用storage manager加载flash driver;
而非multi-bin情况下,使用device.exe加载flash driver;
有关这一部分内容可以看一下存储管理的源代码

如果我在使用"Start DevMgr"=dword:1;是不是就在Multi-bin用device。exe加载flashDriver?
[/Quote]
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 guopeixin 的回复:]
根本原因是driver的加载机制
一般的芯片方案中都做成了multi-bin情况下,使用storage manager加载flash driver;
而非multi-bin情况下,使用device.exe加载flash driver;
有关这一部分内容可以看一下存储管理的源代码
[/Quote]
如果我在使用"Start DevMgr"=dword:1;是不是就在非Multi-bin用device。exe加载flashDriver?
guopeixin 2010-01-14
  • 打赏
  • 举报
回复
根本原因是driver的加载机制
一般的芯片方案中都做成了multi-bin情况下,使用storage manager加载flash driver;
而非multi-bin情况下,使用device.exe加载flash driver;
有关这一部分内容可以看一下存储管理的源代码
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
貌似还是不行,大家一起讨论下哈
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 veabol 的回复:]
注意不要有其它的1冲突啊
[/Quote]
恩,我把SD卡的设置成2
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
注意不要有其它的1冲突啊
九个太阳2023 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 veabol 的回复:]
不要用"Index"=dword:0呢?改用"Index"=dword:1,总觉得这个0怪怪的。一般的驱动中也没看到使用0的,连COM口都是从1开始。

[/Quote]
试试看
博说医械研发 2010-01-14
  • 打赏
  • 举报
回复
不要用"Index"=dword:0呢?改用"Index"=dword:1,总觉得这个0怪怪的。一般的驱动中也没看到使用0的,连COM口都是从1开始。
加载更多回复(4)

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧