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 17th, 2008
will
本来打算用cygwin gcc模拟linux环境进行编译minigui的,但是失败,由于时间紧还是改用虚拟机运行Linux,建立编译环境。而一开始又遇到了问题VMware6.0的VMware Tools似乎和ubuntu8.0.4有些不兼容,查了N多资料之后终于搞定,记录一下。
一、安装build-essential,linux-headers
sudo apt-get install build-essential //不行则在System->Administration->Software Source中更改源
uname -r //得到系统的版本号
sudo apt-get install linux-headers-’uname -r’ //uname -r替换成上条命令的结果
二、安装VMware Tools
cd /media/cdrom0
cp VMwareTools-6.0.0.45731.tar.gz /home/mydoc
cd /home/mydoc
tar -zxf VMwareTools-6.0.0.45731.tar.gz
这时不要安装,(安装也不会成功)。
需要下载http://jaist.dl.sourceforge.net/sourceforge/open-vm-tools/open-vm-tools-2008.05.02-90473.tar.gz,
解压该文件,进入modules/linux目录
将vmxnet重命名为vmxnet-only(可使用sudo mv vmxnet vmxnet-only),其他也改为如对应的xxx-only。
分别执行tar -cf xxx.tar xxx-only;
然后xxx.tar复制到vmware-tools-distrib/lib/modules/source目录。
cd vmware-tools-distrib
sudo ./vmware-install.pl
然后一路回车,应该就搞定了。
PS:在没有安装VMware Tools情况下,VMware和XP共享文件采用了光盘镜像.iso文件。
September 15th, 2008
will
为在VxWorks上开发gui,用到了minigui,为了编译minigui需要一个linux的编译环境,想到cygwin。曾经在在windows下建立Ethereal开发环境的时候使用过cygwin,但是当时编译用的VC6.0的编译器,所以没有安装gcc。
在cygwin下安装gcc只是选择库的不同,其它操作没有变化,可参考在windows下建立Ethereal开发环境,安装gcc需要
binutils
gcc
gcc-mingw
选择这些库的同时可能有其它的库也被选中了,这个不用管了。安装完成后可以在bash中输入命令gcc –version查看gcc的版本信息。cygwin提供的为3.4.4版本。
PS:本来想写的是在cygwin下配置minigui的编译环境,但是几次尝试都失败了,没有时间论证是否可行了,改成vmware安装ubuntu编译了。
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!
Recent Comments