4536|10

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

为何pb5中用x86debug可以模拟运行wince,用ARMV4I就不行 [复制链接]

我在pb中定制内核,先按一本书上讲的,使用了x86_debug来编译内核镜像,无错误,可仿真运行。
后来我用armv4i来编译,就会报错呢。
我的板是QQ2440V3的。已经装好了相应的bsp。
在安装pb5是也选择了支持2440的内容啊。
请各位高手指点。
书名《WINDOWS CE.NET内核定制及应用开发》。
再次谢过各位大侠!
此帖出自WindowsCE论坛

最新回复

谢谢!非常感谢2,6,7楼的帮忙解答。:—) 我现在知道了(准确的说是确认了),在pb5上是不能模拟仿真运行基于ARM的wince os的。 在vs2005中是可以运行的。 pb5支持的是x_86架构的,vs2005支持的是arm架构的。 那么另外问下高手们,如果不能在宿主机上仿真运行基于arm的os,而只能下载到开发板上,那如果出了错误该怎么调试呢? 再次感谢2,6,7楼的帮助,谢谢!!!  详情 回复 发表于 2009-3-23 18:15
点赞 关注
 

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
补充说明以上问题:
查了pb5的ERRORE信息:
BUILD: [01:0000000150:ERRORE] e:\WINCE500\PLATFORM\smdk2440\DRIVERS\CS8900\Miniport.c(1661) : error C2065: 'ETHDBG' : undeclared identifier
BUILD: [01:0000000151:PROGC ] Linking E:\WINCE500\platform\smdk2440\lib\ARMV4I\debug\cs8900.lib
BUILD: [01:0000000160:ERRORE] LINK : fatal error LNK1181: cannot open input file 'obj\ARMV4I\debug\Miniport.obj'
就是说在2440的cs8900网卡驱动中出现了未定义的变量,第二个错误又是由于第一个错误引起的编译链接错误。
请问各位高手怎么改呢?
另外
我想使用x_86debug没问题是由于它的网卡驱动是PB自带的,
现在用qq2440v3后,他中间的网卡驱动出现了问题。
请问有没有人遇到同样的问题。
再有如果内核定制时不选网络那块是否可以绕过现在的问题?具体是哪些选项不选呢?
此帖出自WindowsCE论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
X86_DEBUG可以仿真运行??第一次听说。

ARMV4I为什么不行,很简单,因为PB没有提供这种功能。
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
不好意思啊,刚入门,有的东西(术语)表达不清。呵呵
我的意思就是用Emulator:x86_Debug来在电脑上运行wince(是wince的镜像吧?)
那楼上的意思是pb中只能编译ARMV4I而不能在电脑上运行wince了?是这样的吗?如果装了2440的bsp了呢?
我的开发板是QQ2440V3的,可是用他们公司自带的个QQ2440.PBXML来定制系统,编译好了没问题,我用Atatch Device来运行就会有如下报错:
Your virtual machine may not have enough RAM allocated. Try increasing the RAM allocation (if you are using Platform Builder open the Configure Remote Services dialog, choose the Emulator Download service, and click the configure button).
那个Settings >>Build Options>>Run-time Image Can be Larger than 32 MB(IMGRAM64=1)的选项我也选了啊。怎么还是共建不够啊?
上网查了下,有说在config.bib中修改RAM大小的,可他用的是4.2的,如下:
我的解决方法:
使用环境WinCE4.2,打开开发环境,打开config.bib文件,改一下下面这句话:
;;; Tarzan Debug mode
NK   8C200000  02600000  RAMIMAGE
; NK   80040000  01E00000  RAMIMAGE
; CHAIN   81E40000  00001000  RESERVED
; DRIVERS   81E41000  001BF000  RAMIMAGE

; RESERVE       8df00000  00080000
; RAM           8c200000  01D00000  RAM
RAM           8F800000  01700000  RAM//就是这一句,原来是8E800000,现在改为8F800000

重新编译之后问题解决。
我的是5.0的,格式如下:
;#define CHAIN_ADDRESS        81E40000
;        CHAIN                        $(CHAIN_ADDRESS)    00001000        RESERVED
;        pdwXIPLoc                00000000  $(CHAIN_ADDRESS)      FIXUPVAR

;;; Tarzan Debug mode
        NK                        8C200000  01900000  RAMIMAGE               
        RAM         8DC00000  02300000  RAM

; Common RAM areas
        AUD_DMA             8c002000  00002000  RESERVED
        DRV_GLB                        8c010000  00010000  RESERVED
        DBGSER_DMA                8c022000  00002000  RESERVED
        SER_DMA                        8c024000  00002000  RESERVED
;        IR_DMA                        8c026000  00002000  RESERVED
        SD_DMA                        8c028000  00008000  RESERVED

;        EDBG                        8c030000  00020000  RESERVED        ;change by lyc
;        CAMERA                        8c050000  000A0000  RESERVED
;        CAMERA                        8c088000  00140000  RESERVED

;        DISPLAY                        8c160000  00030000  RESERVED  ;320*240
;        DISPLAY                        8c1d0000  00100000  RESERVED
        DISPLAY                        8c100000  00100000  RESERVED
我就搞不清楚修改哪个参数了。。。





不管怎么样,非常感谢你,我不知道怎么弄那个分。你是第一个帮助我的。
谢谢你的雪中送碳。。。

此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
关于修改config.bib的是为了解决问题Ram start overlaps rom binary的,而不是Your virtual machine may not have enough RAM allocated. Try increasing the RAM allocation (if you are using Platform Builder open the Configure Remote Services dialog, choose the Emulator Download service, and click the configure button). 。。。不好意思啊。。。
那为了解决问题Ram start overlaps rom binary是修改参数“RAM        8DC00000  02300000  RAM ”吗?
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
我查了下,是修改NK 8C200000  01900000  RAMIMAGE 为NK 8C200000  01f00000  RAMIMAGE ,这样的话,01f00000正好是31M,可还是运行不了啊。。。
是不是说PB5之能编译基于ARM的OS,而不能在宿主机上模拟运行wince呢?
谢谢
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
Emulator就是Emulator,它只是仿真了X86,你可以认为它是和x86并列的。在本机上仿真ARM,5.0没有这个功能。
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
PB5.0: ARM的OS只能下载到开发板上运行,不能在PC机上运行的
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
谢谢
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
谢谢!非常感谢2,6,7楼的帮忙解答。:—)
我现在知道了(准确的说是确认了),在pb5上是不能模拟仿真运行基于ARM的wince os的。
在vs2005中是可以运行的。
pb5支持的是x_86架构的,vs2005支持的是arm架构的。
那么另外问下高手们,如果不能在宿主机上仿真运行基于arm的os,而只能下载到开发板上,那如果出了错误该怎么调试呢?
再次感谢2,6,7楼的帮助,谢谢!!!
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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