7176|20

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于wince6.0永久存储的问题 [复制链接]

我原来在PXA270+NorFlash+wince5.0用intel的PSM软件在flash中划分一块区域用来永久存储数据和用户自己的资料。
但是目前转到wince6.0,PSM不支持6.0了,无法使用,因此请问大家除了使用ROM-only file system外,还有什么办法可以实现永久存储?
我希望存储的资料包括:
1、用户自己建立的文件和文件夹,不论实在什么地方建立的,如桌面或者我的文档中。
2、用户上网的IE历史记录和收藏夹等等
3、用户设定的网卡及无线网卡的参数
小弟在这方面不是太明白,希望大家指点一下方向。
谢谢了!

最新回复

binfs是专门为了实现multibin而存在的。 如果不做multibin 直接把NK.nb0拷贝到内存运行即可。  详情 回复 发表于 2008-12-23 15:27
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
记得上次不跟你说了,自己改写个Flash驱动就可以了,实现Hive Base+Binfs
这些问题应该都可以解决吧
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
实现HIVE就可以了
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
这个和hive没关系,你要在flash上除了binfs以外,分出一块空间来挂载fat(或者其它)文件系统。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 1 楼 hzdysymbol 的回复:
记得上次不跟你说了,自己改写个Flash驱动就可以了,实现Hive Base+Binfs
这些问题应该都可以解决吧

不好意思,忘记了,我去研究一下,谢谢大家。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
研究MSDN和网上的帖子半天,尝试实现HIVE+binfs,但是遇到了不少问题,请大家指点一下。
1、我参考这个帖子,想先实现HIVE注册表,同时在flash中分出1M来储存注册表。帖子地址如下:
     [url=http://bbs.driverdevelop.com/htm_data/48/0712/108048.html][/url]
     我的步骤是:1. 按照帖子中的注册表信息修改platform.reg,同时将MEMbase改成:BC880000(我的是64M的NorFlash)
                        2. 在catalog中加入MSflash的驱动和HIVE注册表的支持
                        3. 在platform.bib中增加stratad.dll文件。
                        4. 编译(clean)通过,下载下去image跑完OEMinit就挂了。
     在这里我还没有增加binfs的支持,想用wince自带的MSflash驱动先分出1M空间。
     请问我的步骤还缺少什么吗?
2、搞不定第一个问题,我又来做Multibin。参考了MSDN,我先在bootloader中添加支持,我的步骤是:
     1、在bootloader的source文件中,加入bootpart.lib
     2、在main.c文件中加入OEMMultiBINNotify函数定义,在OEMDebugInit中添加指针:g_pOEMMultiBINNotify = OEMMultiBINNotify
     现在的问题就是我要如何在eboot.bib文件中添加binfs?我还有一个问题不明白的就是,在bootloader中,系统是否只是识别binfs,而分区和格式化是在image(NK)中进行的?如果在bootoader中就进行分区和格式化,是在什么地方通知系统要分多大的flahs区域给binfs呢?是在eboot.bib文件中吗?
请大家指点一下,非常感谢。
     
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
实现了hive也实现不了你说的那些功能,只能保存注册表而已,你的那些功能还要把那些文件夹全部映射到可存储设备上
不过映射文件夹我也没有试过,理论上也是修改注册表就可以
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
ding
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
ding
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 6 楼 Reallyu 的回复:
实现了hive也实现不了你说的那些功能,只能保存注册表而已,你的那些功能还要把那些文件夹全部映射到可存储设备上
不过映射文件夹我也没有试过,理论上也是修改注册表就可以

确实实现了Hive和FlashDisk的功能,也无法做你下面这项要求:
用户自己建立的文件和文件夹,不论实在什么地方建立的,如桌面或者我的文档中。
系统只能保存存放在FlashDisk上的资料
现在还没有确认ROM Only File System出来结果会怎么样,我上次实现后没有测试结果又换成RAM+ROM的文件系统了
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 hzdysymbol 的回复:
引用 6 楼 Reallyu 的回复:
实现了hive也实现不了你说的那些功能,只能保存注册表而已,你的那些功能还要把那些文件夹全部映射到可存储设备上
不过映射文件夹我也没有试过,理论上也是修改注册表就可以

确实实现了Hive和FlashDisk的功能,也无法做你下面这项要求:
用户自己建立的文件和文件夹,不论实在什么地方建立的,如桌面或者我的文档中。
系统只能保存存放在FlashDisk上的资料
现在还没有确认ROM Only File System出来…

如果用ROM ONLY FILE SYSTEM是可以的,不过这样速度太慢了。客户不能接受。所以现在要想别的办法。
另外我5楼的问题能否帮我看看,谢谢了。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
学习
才把wince 6.0下HIVE+FATFS保存功能实现,但了解的还不是很深,继续学习……
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

13
 
请问楼上是怎么实现的,能否分享一下经验,谢谢!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

14
 
"永久存储数据和用户自己的资料",你所说的“数据”指什么数据?
如果只是用户自己的资料,只需要将flash的一部分空间格式成fat,并显示加载(mount)出来,命名比如"FlashSotrage"之类的,然后就可以保存并且不丢失。

“数据”如果涉及到系统的注册表、windows的配置、\windows、\My Documents之类的系统目录下的文件修改,那么就必须额外实现HIVE(保存注册表的改动)和文件映射(保存目录的改动)。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

15
 
进来学习…
13楼说得很对。
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

16
 
回13楼,我现在就是想在flash中开辟一个区域存储数据,原来是用PSM的,但是6.0中PSM不能再用了,所以想实现HIVE+binfs。但是遇到了我在5楼提的问题,请帮忙看看。谢谢。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
吃饭得一口一口吃,先做好Flash驱动,再来做Hive Base,然后再添加Binfs
这个顺序应该会比较合理
你现在Flash驱动都还没有好,就想加别的功能,是不是有点急了?
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

18
 
分区(binfs)及格式化是在eboot里做的,可以找到对binfs格式的支持。OS里只是将其mount(挂载)而已。

hive最关键的步骤是要产生boot.hv,system.hv,user.hv,并且确保flash驱动在boot.hv里。

你可以在cmd模式下用 viewbin -t nk.bin的方式来查看是否有对应的hv存在。或者直接到编译后的release目录下搜索*.hv(这是隐藏文件)
 
 
 

回复

85

帖子

1

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 shuiyan 的回复:
分区(binfs)及格式化是在eboot里做的,可以找到对binfs格式的支持。OS里只是将其mount(挂载)而已。

hive最关键的步骤是要产生boot.hv,system.hv,user.hv,并且确保flash驱动在boot.hv里。

你可以在cmd模式下用 viewbin -t nk.bin的方式来查看是否有对应的hv存在。或者直接到编译后的release目录下搜索*.hv(这是隐藏文件)


学习了
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

20
 
HIVE注册表和binfs是没有关系的
我的bootloader不支持binfs,但是也可以使用HIVE

binfs和FAT分区是在eboot中实现的,这个eboot的代码流程你看看我的博客,我上周写了几篇。
binfs分区其实就是写一些标志在flash的带外数据区,系统起来后后回去读每个block,检测到这些标志就认为是binfs了
FAT分区是在烧写NK进flash的时候做的。其中牵扯的代码很多。FAT分区识别自然也是这时候写入标志,以及分区表,系统起来后回去读的。如果写入标志正确,系统才会加载文件系统,出现盘符。
我在博客也有介绍。
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表