Archive

Archive for the ‘学习笔记’ Category

cygwin下载安装gcc

September 15th, 2008 will No comments

为在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编译了。

    Categories: 学习笔记 Tags: ,

    VMware下运行VxWorks WindML3.0

    September 14th, 2008 will No comments

    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一样可以通过。

    Categories: 学习笔记 Tags: , ,

    VmWare中安装VxWorks-常见问题解决方法

    September 8th, 2008 will No comments

    我也是初学者,根据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!

    Categories: 学习笔记 Tags: , ,

    VC2005运行库-解决方案

    September 7th, 2008 will No comments

    VC2005运行库是VC2005编译出来的程序运行所依赖的库(不包括.NET支持),采用manifest方式来指定dll文件。如果将程序.exe文件直接拷贝到没有安装过VC2005的计算机上运行运行,往往会出现找不到msvcr80.dll、mfc80.dll文件等错误。

    解决方案:
    解决方式一、在目标系统上安装2005版vcredist_x86.exe(全称Microsoft Visual C++ 2005 Redistributable Package (x86))。微软官方下载地址:http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe

    解决方案二、直接拷贝VS8目录下的VC \ redist \ x86 \ 目录下的 Microsoft.VC80.MFC、Microsoft.VC80.CRT、Microsoft.VC80.MFCLOC几个文件夹,到exe所在的目录下,目录结构如下:
    .\myapp.exe
    .\myapp.dll
    .\Microsoft.VC80.CRT\
    .\Microsoft.VC80.MFC\
    .\Microsoft.VC80.MFC\Microsoft.VC80.MFCLOC\
    然后修改Microsoft.VC80.MFCLOC目录下的Microsoft.VC80.MFCLOC.manifest文件,将其中的version=”8.0.50727.42″,修改为version=”8.0.50608.0″。
    为了避免保证VS8的完整性,建议先将Microsoft.VC80.MFCLOC的文件拷出来后再修改。

    Categories: 学习笔记 Tags: ,

    Tornado2.2下通过VxSim运行Hello World!

    September 5th, 2008 will No comments

    安装了Tornado2.2之后,没有硬件环境的情况也可以通过VxSim来软件运行一些程序,下介绍一下VxSim运行一个Hello World!的过程。

    1、启动Tornado2.2,出现如图所示的新建工程选项,选择downloadable application。
    new_project

    接下来直接点Next就可以了,也可以自定一些设置。工程建立完成。
    也可以在File->New project来建立如上的工程。

    2、File->New,如果如图添加C/C++ Source File
    add_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查看输出结果。
    run_program_vxsim

    Categories: 学习笔记 Tags: ,