很郁闷的问题,WinCE、Platform Builder达人请进来,多提提建议,谢谢!

silentwins 2009-05-25 04:57:56
加精
本人买了一块FriendlyARM(友善之臂)的板子,用VS2005开发了一个程序要运行在板子上面,系统刷成WinCE 5.0了,程序开发也完成了,正当以为一切可以结束的时候,发现板子重启之后保存在WinCE里面的数据完全消失了,程序可以放在别的存储设备,,,,,但是VS2005开发的程序,调试过程中,VS会向WinCE的Windows文件夹写入很多文件(诸如.net CF,一些要引用的dll,还有一些CAB文件等等),这些文件也会随着掉电而消失,这些.net的支持文件消失了,程序再放到哪里都没有,没有这些支持文件程序是没法运行的。
针对这个问题,我想到的是用Platform Builder 5.0定制系统,自己定制一个包含.net CF还有其他支持文件甚至包含程序文件的系统。Q1:因为我是这方面的新手,我想问问我这样想法有没有问题,因为我需要的不是系统能保存什么设置,我需要系统一开机的时候Windows下的文件夹含有我想有的文件就足够了,假若有别的方法,请指名,谢谢!

其实Platform Builder我也安装,走到一步叫"系统就会接到从开发机广播过来的信息"的步骤时就毫无反应,请参照http://blog.csdn.net/cudng/archive/2007/07/17/1694609.aspx,Blog主也说只有8139的网卡才能支持,我现在手头上的都没有这芯片,今晚去买一张看看,,,,,,,,,但我把Blog主说的这文章之前的所有步骤都走完了,因为之前的步骤已经编译过了,所以相应的WorkSpace文件夹里面也有NK.bin文件了,我就尝试把这个文件刷进我的设备,刷了3个格子就刷不下去了。Q2:这个bin文件不能刷,那究竟到什么阶段的bin文件才能刷,一定要PB自动下载进去设备的才能用么?

Q3:用PB的过程中,定制BSPs类型的时候有过选择支持的CPU的过程,因为我的板子是ARM的CPU,我发现只选择ARM的时候,右边的Catalog/BSPs里面根本不会出现我定制的BSPs类型,这究竟是什么意思,我实在想不同...

Q4:我买的板子是带7寸的触摸屏的,这个产品根据显示输出的不同支持分了不同型号,厂商给每种型号的WinCE的bin文件都是不一样的,他们的bin是不是也用PB定制出来的?那么那些显示驱动,还有其他接口的驱动,有是在PB哪个过程刷进去的?上面的Blog好像没有说到过这个东西...

Q5:有人说这个板子运行的WinCE是保存在RAM,所以一掉电就会丢失数据,对WinCE的设置也一样消失,这样的优点就是不用维护系统,一重启就好了,,,,,但我发现一个问题,就是我设置的固定的IP地址,设置好后,无论我怎样关机,一开机还是能保持我关机前设置过的IP信息,这又是怎么一回事?实在是不解...

我的问题比较多,也知道大家不都是神,大家有知道的,就挑自己知道的问题回答好了...
觉得有什么需要提醒一下我的,也无任欢迎,这个帖子我会尽量把分数加上去,因为我真的逼切需要你的解答,希望大家可以热心帮助我,谢谢!
...全文
1004 60 打赏 收藏 转发到动态 举报
写回复
用AI写文章
60 条回复
切换为时间正序
请发表友善的回复…
发表回复
macklau 2010-03-01
  • 打赏
  • 举报
回复
学习了。很有价值,很接近实际,帮助很大
silentwins 2009-05-31
  • 打赏
  • 举报
回复
嘿嘿,前来报喜讯来了!

早上重新来了一次,把友善之臂多余的东西都不放入Windows文件夹,把背景图片改成一个1*1的bmp图片(感觉WinCE不会那么强大的支持JPEG的,所以没有尝试JPEG了),一路下来很顺利,大小只有29M多,顺利烧进设备!

在次,再一次谢谢大家的帮助!
silentwins 2009-05-30
  • 打赏
  • 举报
回复
我们这边下雨,3天闷在家里,哪里都没去,不弄这个没事好做,老板已经下了命令让我联系卖板子的人,不要拖太久,我觉得这种问题问卖板子的肯定麻烦自己麻烦别人,拖得更厉害,还是自己早点弄完,完事后上班还可以做别的事情,嘿嘿~~

那些组件东依赖西依赖的不说,连哪些可以删哪些不可以删的都不知道,为了那么2M空间,革命还需努力啊~!!!
silentwins 2009-05-30
  • 打赏
  • 举报
回复
我们这边下雨,3天闷在家里,哪里都没去,不弄这个没事好做,老板已经下了命令让我联系卖板子的人,不要拖太久,我觉得这种问题问卖板子的肯定麻烦自己麻烦别人,拖得更厉害,还是自己早点弄完,完事后上班还可以做别的事情,嘿嘿~~

那些组件东依赖西依赖的不说,连哪些可以删哪些不可以删的都不知道,为了那么2M空间,革命还需努力啊~!!!
gooogleman 2009-05-30
  • 打赏
  • 举报
回复
节日俺们都去玩了,还在弄,佩服。
——————————————————————————

不要的组件,右键——》删除即可,你百度一下啥都好了。
silentwins 2009-05-30
  • 打赏
  • 举报
回复
谢谢,原来这个中文语言包还这么大啊~~

研究了一下那些地址问题,把RAM Start的位置改称在ROM End之后,再Build and Sysgen,成功,可是这样一下来Image变成33M了,编译的时候都有提示文件大于31.58xxxxxM,这个Image有可能不能用,,,,,,,刷新机器,果然,刷的过程很顺利,就是去到windows ce kernel for arm xxxxxxxxxxxxx之后就停下来了,等了10分钟都不动,没办法,要想办法精简一下系统才行了,离目标越来越近了,明天继续努力~!
shuiyan 2009-05-30
  • 打赏
  • 举报
回复
中文一加,根据字体的选择,多出10M很正常。建议你还是先紧盯着系统的基本。去了中文,花时间来熟悉系统。
kaifaye 2009-05-29
  • 打赏
  • 举报
回复
学习了
silentwins 2009-05-29
  • 打赏
  • 举报
回复
新建platform一样还是老错误,实在搞不懂了,这究竟是什么意思,下一步不知道怎么办了~
silentwins 2009-05-29
  • 打赏
  • 举报
回复
在家里把环境搭建起来了,第一次还是搭建了一个简单的环境,用的Build and Sysgen,成功,bin文件才21M
因为没有把语言改成中文,改了一下继续Build and sysgen,又是老错误,为什么每次一重新sysgen就出问题?这也太奇怪了,就算加了个中文支持,也不知道多了10多M吧,真是郁闷~

正在新建一个Platform继续Build and Sysgen看看中...!
lyx_wq 2009-05-27
  • 打赏
  • 举报
回复
学习了哦!!!
shuiyan 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 gooogleman 的回复:]
引用 30 楼 ccyy2002 的回复:
刚没注意,LZ看样子是需要把EXE程序也放在系统里,那可以告诉你一个办法,就是程序架构问题,你把主程序做小点,几十K,把程序功能分开,每个分功能全部做成DLL,需要的时候加载,不需要了就卸载掉,现在很多WINCE下架构是这么做的,别把很多功能做到一个EXE中,这样的确有gooogleman说的问题


这个要学习,连程序也分割了。
[/Quote]
主程序只实现调用,所有子功能全在dll里。如何。
shuiyan 2009-05-27
  • 打赏
  • 举报
回复
Q1:因为我是这方面的新手,我想问问我这样想法有没有问题,因为我需要的不是系统能保存什么设置,我需要系统一开机的时候Windows下的文件夹含有我想有的文件就足够了,假若有别的方法,请指名,谢谢!
-->将你的程序需要的所有文件找到,然后统一复制到PB编译后的目录(Release),在platform.bib加入刚才那些文件,再次makeimg即可。
这里面涉及的就是“如何在镜像中加入自己的文件”,这步骤可以搜索一下,有很详细的说明。


Q2:这个bin文件不能刷,那究竟到什么阶段的bin文件才能刷,一定要PB自动下载进去设备的才能用么?
-->一定要PB编译成功的NK.bin才可以用来下载。不过既然厂家已经自带了多个NK,那这些nk.bin可以直接使用。


Q3:用PB的过程中,定制BSPs类型的时候有过选择支持的CPU的过程,因为我的板子是ARM的CPU,我发现只选择ARM的时候,右边的Catalog/BSPs里面根本不会出现我定制的BSPs类型,这究竟是什么意思,我实在想不同...
-->需要在PB里面导入该开发板对应的cec,一般都会在厂商提供的光盘里,目录名一般就是CEC,里面能看到对应的cec文件。


Q4:我买的板子是带7寸的触摸屏的,这个产品根据显示输出的不同支持分了不同型号,厂商给每种型号的WinCE的bin文件都是不一样的,他们的bin是不是也用PB定制出来的?那么那些显示驱动,还有其他接口的驱动,有是在PB哪个过程刷进去的?上面的Blog好像没有说到过这个东西...
-->都是用PB定制的。不同的屏对应不同的驱动,是在PB定制时,从开发板的BSP对应的CEC(看Q3)提供的组件中进行选择的。选好后,编译,就会生成对应的nk了。


Q5:有人说这个板子运行的WinCE是保存在RAM,所以一掉电就会丢失数据,对WinCE的设置也一样消失,这样的优点就是不用维护系统,一重启就好了,,,,,但我发现一个问题,就是我设置的固定的IP地址,设置好后,无论我怎样关机,一开机还是能保持我关机前设置过的IP信息,这又是怎么一回事?实在是不解...
-->这个板子应该实现了HIVE REGISTER(HIVE注册表),可以将注册表的修改保存在flash中,掉电、重启都不丢失。
HIVE注册表只保存注册表修改,无法保存对系统文件的修改(\windows,\Program...,\MyDocum...之类)。

要实现对系统文件修改的保存,必须实现ROM版本,即将系统目录(\windows之类)映射到flash,所有对这些目录的修改(增加、减少、覆盖)都会在flash中保存,再次启动时加载flash下的目录,从而将之前的修改都体现出来。

waterdream0820 2009-05-27
  • 打赏
  • 举报
回复
学习
wangxin_801115 2009-05-27
  • 打赏
  • 举报
回复
ding!
gooogleman 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 ccyy2002 的回复:]
刚没注意,LZ看样子是需要把EXE程序也放在系统里,那可以告诉你一个办法,就是程序架构问题,你把主程序做小点,几十K,把程序功能分开,每个分功能全部做成DLL,需要的时候加载,不需要了就卸载掉,现在很多WINCE下架构是这么做的,别把很多功能做到一个EXE中,这样的确有gooogleman说的问题
[/Quote]

这个要学习,连程序也分割了。
cleva 2009-05-27
  • 打赏
  • 举报
回复
又学了一些不错的知识
hardbeyond 2009-05-27
  • 打赏
  • 举报
回复
顶……
ccyy2002 2009-05-27
  • 打赏
  • 举报
回复
刚没注意,LZ看样子是需要把EXE程序也放在系统里,那可以告诉你一个办法,就是程序架构问题,你把主程序做小点,几十K,把程序功能分开,每个分功能全部做成DLL,需要的时候加载,不需要了就卸载掉,现在很多WINCE下架构是这么做的,别把很多功能做到一个EXE中,这样的确有gooogleman说的问题
ccyy2002 2009-05-27
  • 打赏
  • 举报
回复
不是把EXE打包进来,是把EXE运行需要的文件打包进来
加载更多回复(38)

19,504

社区成员

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

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