September 20th, 2008
will
一直用VMware测试程序,没有用过VxSim今天用的时候启动不了,主要是下面两个错误提示,
error simulator failed to initialize before timeout
在netmuch的帮助下解决了,而今天又在论坛看到有人遇到同样的问题。还是将方法贴出来。
1、检查有没有安装KB917422,直接在控制面板添加删除程序中卸载
2、安装KB924867补丁,安装这个补丁之前可能需要安装KB935839
装完重启就ok了。
2008-09-21
刚开始启动VxSim显示不了结果怀疑是XP SP3的问题,将SP3卸载问题依旧。最后发现是没有在生成VxWorks.exe的工程中添加linwndml.a库。具体方法就是:
Builds->Macros->EXTRA_MODULES添加
$(WIND_BASE)\target\lib\simpc\SIMNT\common\libwndml.a
如果运行后屏幕出现一片灰色,那是因为在配置WindML的时候没有添加font的原因。
September 14th, 2008
will
在VMware中安装VxWorks之后,希望能加入图像界面,便于以后进行gui开发。下面是我根据一些论坛中的资料做的过程。以下过程是在VmWare中安装VxWorks成功之后的环境下实现的。
一、配置WindML3.0
直接修改pentium_VESABIOS_RGB565_640×480的配置
分辨率设置800*600,此处必须改变分辨率。原因见complete 2D library没有安装错误
鼠标Type:Pointer选PS/2 Style Pointer,Name:pointer/0 (支持鼠标需要WindML3.0 CP3补丁,一时找不到就没有支持鼠标)
键盘Type:PC/AT style,Name:/pcConsole/1(注意此处必须选择pcConsole/1,keyboard/0不存在)。
保存后重新build WindML库。编译WindML库包含了examples,所以时间比较长,正好可以做下面几步。
二、修改BSP
在romInit.s文件中加上
#include <ugl/driver/graphics/pcbios/romInit.h>
它必须是include的最后一个头文件包含。
在config.h的较为开始处加上
#define INCLUDE_WINDML
#define INCLUDE_WINDML_PS2_POINTER /*WindML支持鼠标*/
#define INCLUDE_WINDML_PS2_KEYBOARD
我是加在了#define SYS_INT_INTGATE 之后
重新编译BSP,制作bootrom的floppy image
三、配置vxWorks
WindML components组件下,包含如下几个部分:
WindML devices->input device->PS2 keyboard
WindML devices->graphics device->graphics support(PCI device)
2D layer->complete 2D library
2D layer->necessary 2D library
重新编译生成vxWorks
四、下载并运行ugl程序
配置Target Server,选择Target Server是在工具栏上(我当时找了好久,一下载就提示没有选择Target Server)。然后从X:\Tornado2.2\target\lib\objPENTIUMgnuApps(X为tornado的安装盘符)选择ugldemo.o下载,并在shell中运行ugldemo,即可再VMware中看到Welcome to WindML3.0。
PS:配置到第三步的时候,出现2D layer->complete 2D library没有安装错误,重新安装WindML3.0一次,然后再配置第三步,依然提示complete 2D library没有安装。曾试图通过修改prjParams.h文件,将原来的
#undef INCLUDE_UGL_ALL改为
#define INCLUDE_UGL_ALL
结果还是失败了。解决办法是将第一步配置BSP中的分辨率设置成800*600,鼠标键盘都设置上。
实际上并没有这个必要,necessary 2D library一样可以通过。
我也是初学者,根据wabcon2003-12-27的教程在VMWare上安装VxWorks操作系统(原文找不到了),生成的bootrom在VMware中加载出现:
(tBoot): sysNvRamGet:open failed
Attached TCP/IP interface to lnPci0.停在这里不动了。
先说明TCP/IP错误,主要是没有将网络驱动程序加入bootrom中。
解决办法:
先将从AMD下载的网卡驱动中的ln97xEnd.h和ln97xEnd.c复制到pcPentium目录中,然后修改pcPentium中的Makefile文件
将MACH_EXTRA = 改为MACH_EXTRA = ln97xEnd.o
然后编译生成bootrom。此时如果后面的操作都正确,boot已经可以成功了。
open failed错误不影响boot,但是有网友反应会影响到以后的开发,以后还是应该解决掉。解决的方法也很简单,就是修改config.h文件将
#define SYS_WARM_TYPE SYS_WARM_FD 改为
#define SYS_WARM_TYPE SYS_WARM_BIOS
Build Boo ROM的时候不支持C++语法,即//的注释符不能被正确解析。
环境变量的设置只是临时的,关闭控制台之后需要重新设置环境变量。
mkboot a: bootrom 在a:后面有个空格。
就这么多了,欢迎大家和我交流。Have Fun!
在安装了Tornado2.2之后,没有硬件环境的情况也可以通过VxSim来软件运行一些程序,下介绍一下VxSim运行一个Hello World!的过程。
1、启动Tornado2.2,出现如图所示的新建工程选项,选择downloadable application。

接下来直接点Next就可以了,也可以自定一些设置。工程建立完成。
也可以在File->New project来建立如上的工程。
2、File->New,如果如图添加C/C++ Source File

向新建的源文件中添加printf打印Hello World!的源程序,Build->Rebuild All,生成.out文件。
3、Tools->Simulator下开启VxSim,直接保持默认就可以了。
4、Load Program。Project->Download选择生成的.out文件下载。
5、Debug显示Hello World!。Tools->Debugger,然后Debug->Run如图所示,在Task中填入所要运行的任务,然后可以单步,run在VxSim查看输出结果。

Tornado2.2的下载地址http://www.verycd.com/topics/80328/,迅雷也可以下载电驴链接。尽管现在已经有Tornado2.2.1推出,但是没有找到下载源,更别说破解了。
我下载了[风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR.ARM.CD1.ISO和[风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR.PENTIUM.CD2.ISO。由于这是镜像文件所以需要是虚拟光驱安装(推荐使用DAEMON Tools)。当安装到需要输入Install key的时候输入cAQ8i-qP2I&-g$vT6-3&gjw-bEk9g。然后其它的默认就可以了。然后安装第二光盘方法一样,Install key的时候输入A7KbB-Rd37p-hNFBE-kzgaT-b9gpC。最后需要注册license.dat,将镜像中CRACK目录中的license.dat文件拷贝到c:\flexlm,如果flexlm目录不存在则新建该目录。然后在新建环境变量
LM_LICENSE_FILE = c:\flexlm\license.dat
在所下载的镜像当中应该都有对应的破解方法,Good Luck!
Recent Comments