harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
40楼#
发布于:2007-08-29 22:23
兄弟,公司的网络挡掉QQ了
不过我先提一下,加入XIPKERNEL的档案,多一点没关系~
因为没需要因为小小的数百K~1MB,而伤透脑筋..

另外,我是用你的来改的,第一次ok后,我要再改其它资料却又出问题了,卡在XIPKERNEL,
索性我就重新建一个peoject, 再Rebuild就好了,怪哉~
simula
驱动牛犊
驱动牛犊
  • 注册日期2006-07-14
  • 最后登录2012-08-01
  • 粉丝1
  • 关注0
  • 积分18分
  • 威望127点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
41楼#
发布于:2007-08-30 10:41
现在修改了EBOOT,因为在MUKLTI-BIN,时生成的XIP被下载下来还是当做一个BIN文件,所以我在EBOOT里面对他做了一些处理,我把BIN文件都一个个提取出来,然后在存入FLASH,在启动时,只读取RAMIGAGE的段和CHAIN段!
simula
驱动牛犊
驱动牛犊
  • 注册日期2006-07-14
  • 最后登录2012-08-01
  • 粉丝1
  • 关注0
  • 积分18分
  • 威望127点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
42楼#
发布于:2007-08-30 11:01
搞定,内核 1。9M!
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
43楼#
发布于:2007-08-30 11:13
兄弟 恭喜阿!! XIP搞OK了,是不是觉得很爽? 嘻嘻
你开机后,系统RAM显示是多少? 然后系统占用多少?
 

图片:Scr-050809144702.gif


图片:Scr-050809145603.gif

harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
44楼#
发布于:2007-08-30 11:23
至于BOOT的部分,我是改成读取3MB就去RUN了...
不果整体开机时间还是要9秒...如果可以压缩到4-5秒 就真的完美了
oxox
驱动牛犊
驱动牛犊
  • 注册日期2005-12-14
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望132点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
45楼#
发布于:2007-08-30 14:46
harktrip兄弟
搞定后发表一下做法文档啊!
我下星期也找个时间玩玩,思路按照你们的来玩
不过有点想不明白,把NK做成XIPKERNEL.nb0(内核部分)跟nk.nb0(其它镜像)
我eboot首先把XIPKERNEL.nb0拷到内存去运行,运行完了呢?怎么去加载第二部分的nk.nb0文件呢?还是要把第二部分NK.NB0拷到内存去吗?这样不是又要占用拷贝时间?
你NK.NB0部分跟RAM部分区载还有重叠吧?
QQ:215223106 wince ARM9交流!!!!
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
46楼#
发布于:2007-08-30 15:41
OXOX,最近忙歪了...没时间写这些数据
不过你边做 边参考这一串讨论,就可搞定了

我下载到目标板,是用产生的XIP.NB0 --->这是结合两个NB0的
NK.NB0是和DRAM完全重迭的
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
47楼#
发布于:2007-08-30 19:38
BinFS.dll总不能加载,为何呢?
simula
驱动牛犊
驱动牛犊
  • 注册日期2006-07-14
  • 最后登录2012-08-01
  • 粉丝1
  • 关注0
  • 积分18分
  • 威望127点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
48楼#
发布于:2007-08-31 09:06
应该保证BINFS在系统从default.hv和user.hv读取注册表前就可用,所以你要保证你的boot.hv,BINFS,FMD驱动到RAMIMAGE的region里面而不是NANDIMAGE!所以对BINFS和SMFLASH的驱动的注册表的值也应该在:
;HIVE BOOT SECTION

;END HIVE BOOT SECTION
这个设置你可以参考网站上很多资料。
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
49楼#
发布于:2007-08-31 09:53
相同手法移植到2410的板子上...大失败~~~


Windows CE Firmware Init
INFO: Initializing system interrupts...
INFO: Initializing system clock(s)...
INFO: Initializing driver globals area...
OEMInit Done...
Sp=ffffc7cc
OEMSetRealTime: Year: 2002, Month: 1, Day: 2, Hour: 3, Minute: 42, second: 33 rcnr=1h
OEMSetRealTime(register): Year: 2, Month: 1, Day: 2, Hour: 3, Minute: 42, second: 33 rcnr=1h
FMD::FMD_Init
FMD::FMD_OEMIoControl = 0x71c24
Data Abort: Thread=8ffee5d0 Proc=8c526958 'filesys.exe'
AKY=00000003 PC=03f9775c RA=03f83e54 BVA=04000000 FSR=00000007
Data Abort: Thread=8ffee5d0 Proc=8c526958 'filesys.exe'
AKY=00000003 PC=03f9775c RA=03f83e54 BVA=04000000 FSR=00000007
RaiseException: Thread=8ffee5d0 Proc=8c526958 'filesys.exe'
AKY=00000003 PC=8c206da8 RA=8c2049d8 BVA=4ffee80e FSR=4ffee80e
Exception 'RaiseException' Thread=8ffee5d0 AKY=00000003 PC=2ffc645a BVA=4ffee80e
 R0=8c5286a0  R1=4ffee80e  R2=00000000  R3=2ff95aea
 R4=8c5283bc  R5=8c20b3c4  R6=8c5286a0  R7=8ff95ae8
 R8=8c205ee8  R9=00000000 R10=8c20d8c8 R11=2ff95aea
R12=0405f97c  SP=8ffc6458  Lr=8c205ee8 Psr=8000001f
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
50楼#
发布于:2007-08-31 16:14
2410搞定
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
51楼#
发布于:2007-08-31 16:43
一直有关注这个帖子,看你们似乎已经到此为止了,提几个问题,希望你们再接再励,看了harktrip发了贴图,知道系统跑起来占用了11432K,实际上已经用了11M之多了,前面辛辛苦苦挤那么个1~2M,这里系统基本没跑自己的应用程序就占用了11M之多。实际上最终说起来可用于自己的应用程序的内存只剩下47M多点。还有个问题,启动时间还是缩短不了。对比远峰的产品,我看到可用于程序内存是61M,系统跑起来,跑了主界面应用之后,explorer,我通过控制面板看到它占用的程序内存不到6M,光这点比我们自己作出来的节省5M之多内存,还有就是它的启动速度。所以要达到这个水平看来现在这种做法还有很大距离。
simula
驱动牛犊
驱动牛犊
  • 注册日期2006-07-14
  • 最后登录2012-08-01
  • 粉丝1
  • 关注0
  • 积分18分
  • 威望127点
  • 贡献值0点
  • 好评度50点
  • 原创分0分
  • 专家分0分
52楼#
发布于:2007-08-31 17:31
做这个完全不是为了提高启动速度,启动速度和很多有关系,自己加载的驱动多少,另外内存占用的大小也和你的驱动和模块的多少有关。 现在我的整个IMAGE达到了36M,当时候MULTI-BIN之后,最终使用的RAM也就10多M,这样怎么也省了个10M。如果真要做成那样,那就精简IMAGE吧!
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
53楼#
发布于:2007-08-31 18:03
引用第52楼simula于2007-08-31 17:31发表的  :
做这个完全不是为了提高启动速度,启动速度和很多有关系,自己加载的驱动多少,另外内存占用的大小也和你的驱动和模块的多少有关。 现在我的整个IMAGE达到了36M,当时候MULTI-BIN之后,最终使用的RAM也就10多M,这样怎么也省了个10M。如果真要做成那样,那就精简IMAGE吧!

现在问题是这个做法使启动时间变长了,8,9秒钟的时间太长了,实际上如果是精简IMAGE的话就不需要使用这个所谓的MULTI-BIN了,现在这样的用法,显然不是MULTI-BIN的初衷。做产品的话客户就会比较在意启动时间,否则自己玩玩的话就无所谓了。
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
54楼#
发布于:2007-08-31 19:02
搞到现在,我自己觉得要加强的…
1. 2440在WINCE开机后,已先占用10MB (图中11M,是因为执行了抓图软件),
但2410的板子,却只占8MB. 但因为LCD BUFFER我都是抓到1MB,可降的空间有限,
不过还是可以再试试 (我没记错的话,远峰GPS开机后占用6MB)

2.关于XIPKERNEL的大小,其实想想,降到最低时,例如0.8~1 MB,
但启动WINCE时势必会因为要读取驱动程序,而拖延到开机时间,不过我现在的2.6MB是大了点.

3.就是开机时间了, 2440的现在送电到看到桌面=7秒, 2410的为9秒.
不过监看debugmessage ,有些过程的确需要再改进,
因为ETHERNET驱动和其它INIT的动作,有稍微停顿..|
我估计修正过后,再加上看到桌面前就跑自己的AP,可以到5秒左右. 就看这几天优化后的情况吧!
king_sundi
驱动牛犊
驱动牛犊
  • 注册日期2006-07-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望238点
  • 贡献值1点
  • 好评度54点
  • 原创分0分
  • 专家分5分
55楼#
发布于:2007-09-02 17:20

都是强人,我目前遇到的问题就是开机速度太慢,不加XIP都要15S,加了12S,真正要优化到4~5S还是真的有很长的路要走。
zheshijie大侠,我看你走的比较前,可否就EBOOT启动给兄弟们补补课。
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
56楼#
发布于:2007-09-02 18:26
部分硬件的驱动(dll)可以放在XIPKERNEL里,可以加快开机~
king_sundi
驱动牛犊
驱动牛犊
  • 注册日期2006-07-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望238点
  • 贡献值1点
  • 好评度54点
  • 原创分0分
  • 专家分5分
57楼#
发布于:2007-09-02 19:30
楼上,这样做的话,你的XIPKENEL就变大了。这个不是很划算吧。

你觉得呢,

我参照你的思路,做一版试试。谢谢,Harktrip
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
58楼#
发布于:2007-09-02 20:00
楼上的兄弟,我现在研究的就是看到桌面前,到底做了哪些驱动INIT…
目前只确定s3c2440disp.dll 是一定要含在里面的
触控的也要含在内会比较恰当
enthernet(cs8900,dm9000) 当然就到桌面之后才init

另外FMD_INIT_DONE之后不知做啥了…也做太久了..至少停顿1秒

至于xipkernel变大..只要在3MB以内,都是我可接受的范围内

xipkernel的大小,我是放弃了,因为拼命搞到1MB吧,可是开机时间多了2-3秒,这不划算~~
king_sundi
驱动牛犊
驱动牛犊
  • 注册日期2006-07-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望238点
  • 贡献值1点
  • 好评度54点
  • 原创分0分
  • 专家分5分
59楼#
发布于:2007-09-03 14:04
遇到棘手的问题了。

使用了HIVE之后,出现驱动加载不了的情况,打印信息如下:

Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:25:00
ProcessorType=0920  Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 802268d8
-ConfigureGPIO.....
Invalid XIP region found.
Sp=ffffc7cc
year reset
+OEMSetRealTime(2007/1/1 4:44:56.000)

似乎问题出在:Invalid XIP region found.。。。

继续查找问题中,希望大虾指点。
游客

返回顶部