owen.li
驱动牛犊
驱动牛犊
  • 注册日期2005-06-06
  • 最后登录2005-10-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2194回复:3

新手求助,关于VxWorks & Pentium4

楼主#
更多 发布于:2005-06-06 19:09
偶用Tornado 2.2 for x86
现在仅仅想做一张vxworks for Pentium4的引导软盘

我用的机器是Dell Pentium4 1.8G, memory 256
我用的VMware Workstation是4.5.2 build-8848
我对VxWorks的任何文件都没有改动,仅仅建立了一个Pentium4 bootable的工程,然后Build Boot ROM(压缩和非压缩image都做过了),当我做完了并在VMware中进行启动后发现屏幕上仅仅显示如下:
V1.6+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
很多行+号,然后就没反应了。软盘也不读了。
请问:
1。这是为什么?
2。从这种现象中能否判断出系统执行到哪个函数死机了?

注:我的VMware可以正常启动Win98,且可以和我的Host Win2000进行网络互访及Piing等动作。这证明VMware配置没问题。

[编辑 -  6/6/05 by  owen.li]
owen.li
驱动牛犊
驱动牛犊
  • 注册日期2005-06-06
  • 最后登录2005-10-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-07 19:55
我做了试验,
同样的Win2000 + VMware环境
分别安装Tornado2.0 和 2.2,并且不改变任何配置仅仅各自新建Bootable工程(非压缩image)。

2.0的那个可以顺利在VMware中启动,执行i命令等都可以。
2.2的那个则始终是显示1.6+++++++++++++++++++等等,然后死机不动了。

比较2.0和2.2在最后链接时的动作:
-------------
2.0:
ld386 -X -N  -e _romInit -Ttext 00008000 \\
    -o bootrom_uncmp romInit.o bootInit_uncmp.o version.o bootConfig.o \\
    sysALib.o sysLib.o    D:\\Tornado2.0.x86\\target\\lib\\libPENTIUMgnuvx.a
D:\\Tornado2.0.x86\\host\\x86-win32\\bin\\romsize 386 -b 00090000 bootrom_uncmp
bootrom_uncmp: 354616(t) + 10704(d) = 365320 (224504 unused)

-------------
2.2:
ldpentium -X -N  -e romInit \\
    -Ttext 00108000 -o bootrom_uncmp romInit.o bootInit_uncmp.o version.o \\
    bootConfig.o sysALib.o sysLib.o   --start-group  -LD:\\Tornado2.2.x86\\target\\lib\\pentiu
m\\PENTIUM4\\gnu -LD:\\Tornado2.2.x86\\target\\lib\\pentium\\PENTIUM4\\common \\
        -lcplus  -lgnucplus  -lvxcom  -lvxdcom  -larch  -lcommoncc  -ldrv  -lgcc  -lnet  -
los  -lrpc  -ltffs  -lusb  -lvxfusion  -lvxmp  -lvxvmi  -lwdb  -lwind  -lwindview D:\\Torna
do2.2.x86\\target\\lib\\libPENTIUM4gnuvx.a --end-group  -T D:\\Tornado2.2.x86\\target\\h\\tool\\gn
u\\ldscripts\\link.RAM
D:\\Tornado2.2.x86\\host\\x86-win32\\bin\\romsize pentium -b 00090000 bootrom_uncmp
bootrom_uncmp: 518448(t) + 10016(d) = 528464 (61360 unused)


从上面可发现-Ttext所指定的地址不同(2.0是8000, 2.2是108000),不知道这代码段地址的不同会影响到什么?
我目前怀疑2.2生成的代码,在软盘上执行vxload后并没有跳转到真正的romInit入口,所以只能看到一串++++号就不动了,我分析的对吗?
XR_WDM
驱动小牛
驱动小牛
  • 注册日期2002-06-28
  • 最后登录2013-03-01
  • 粉丝1
  • 关注0
  • 积分15分
  • 威望67点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-08 18:22
原先好像看到过类似的一篇文章,你找找?
这种试验偶还没有做过,呵呵!
等兄弟成功了,记得贴出来呀!
后进而勃发
hwybird
论坛版主
论坛版主
  • 注册日期2006-11-11
  • 最后登录2010-08-31
  • 粉丝0
  • 关注0
  • 积分988分
  • 威望359点
  • 贡献值0点
  • 好评度96点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-01-08 11:10
将#undef INCLUDE_PC_CONSOLE                /* PC keyboard and VGA console */
改为#define INCLUDE_PC_CONSOLE                /* PC keyboard and VGA console */
即可
游客

返回顶部