2024年1月12日发(作者:)

本文档基于于常青师兄的《流程》文档所做,和容其内有些不同,希望大家参照使用。

/************************* 步骤 *****************************/

1.添加CAN驱动

(1)安装Tornado 2.2.1/VxWorks 5.5.1 for Pentium服务器和客户端,BSPs/Drivers for

VxWorks 5.5.1: Pentium即可.

将D:软件备份vxworks安装程序cantarget中的文件复制到F:Tornado2.2target中.

将D:软件备份vxworks安装程序canpid20中的文件复制到F:Tornado2.2中.

创建一个Bootable的Tornado工程,这时Tools菜单中会出现wnCAN选项->Build wnCAN

Library,选择奔腾3gnu.

(2)将Yanxiang-can压缩包中的文件对照文件名分别拷贝到对应的文件夹中,可用搜索法在安装目录中查找Yanxiang-can压缩包中的文件名:

targethCAN ->头文件所在位置

targetsrcdrvCAN ->esd_pc104_200.C、hcan2.C、can_api.C、wncanDevIO.C、

wnCAN.C、sja1000.C、i82527.C、shTahoeAmanda.C、msmcan.C、

esd_pci_200.C、shbiscayne.C、canFixedLL.C、

canController.C、canBoard.C、Makefile。

targetconfigcompssrcCAN ->biscayne_cfg.C、esd_pc104_200_cfg.C、

esd_pci_200_cfg.C、msmcan_pc104_cfg.C、ppc5xx_cfg.C、

sys_esd_pci_200.c、tahoeamanda_cfg.c、wnCAN_show.c。

其中将C:Tornado2.2targetsrcdrvCANMakefile文件中最后一行include

$(WIND_BASE)/vx_components/$(COMP_CAN)/config/注销掉,即在行前添加一个#,再Build wnCAN Library。(在我做的时候,该文件中没有这句话,所以没有执行)。

(3)关掉工程,重新开启该工程(用于刷新控件)。在Files/Vxworks/Builds选项卡中选择Vxworks,右键CAN network devices->Include 'network components'...,选择CAN core

initialization、CAN device I/O interface和ESD PC104-200和MSMCAN PC104,点击确定。

实验室使用的MSMCAN板,所以我就选了。

(4)右键MSMCAN PC104属性->Params,

设置ESD_CAN_PC104_200_IRQ=0X09,

ESD_CAN_PC104_200_IOADDRESS=0X340.

ESD_CAN_PC104_200_DEVIO_NAME="/msmcan_pc104_0",

ESD_CAN_PC104_200_BOARDS=1.

/*设置ESD_CAN_PC104_200_IRQ=0X5,

ESD_CAN_PC104_200_IOADDRESS=0X301.

ESD_CAN_PC104_200_DEVIO_NAME="/can/sja1000",

ESD_CAN_PC104_200_BOARDS=1.*/

2。

将F:yuchangqing资料研祥104-1645CLDN开发总结O.V2.2下的六个文件

直接拷贝到9.26CFpcPentium3目录下即可。如果编译不过去,就把81x9.c添加到工程中.

然后在makefile文件中添加

MACH_EXTRA = rtl81x9.o

在sysRtl81x9End.c文件中修改#include "drv/end/unsupported/rtl81x9.h"为#include

"rtl81x9.h"

(利用步骤5)(修改C:Tornado2.2targetconfigcompssrcnetusrNetLib.c文件,将usrIfProxyArpInit ()函数中的函数体注销掉.(只是函数体,不是整个函数))在工程里编译(BUILD)一遍,在D:Tornado2.2targetproj9.27CANdefault中将生成rtl81x9.o,将其拷贝到F:Tornado2.2targetlibpentiumPENTIUM3common中.

3。

在F:Tornado2.2targetconfig9.26CFpcPentium3config.h中找到#define

INCLUDE_PC_CONSOLE,在后面添加如下行:

#undef CONSOLE_TTY

#define CONSOLE_TTY (NONE)

#undef WDB_COMM_TYPE

#define WDB_COMM_TYPE WDB_COMM_END

4。

在CONFIG.H中找到/* Default boot line */

并将其后的选项压缩为

#define DEFAULT_BOOT_LINE

"rtl(0,0)yuchangqing:vxWorks h=192.168.0.200 e=192.168.0.201 u=yuchangqing

pw=yuchangqing tn=target"(这个地方u 和 pw是不是非要这样写,我不是很清楚)。

修改F:Tornado2.2targetconfigcompssrcnetusrNetLib.c文件,将usrIfProxyArpInit ()函数中的函数体注销掉.(不是很明白这个地方再次注销)。

5。Boot ROM

开始->运行->cmd,输入cd F:Tornado2.2hostx86-win32bin,再运行开启批处理命令,之后就可以在任何目录下使用DOS命令了/*在输入如tornado2.2类似的长文件名时可用‘tor*’的形式,简便输入*/,输入cd

F:Tornado2.2targetconfig9.26CFpcPentium3进入修改后的BSP目录,输入make clean,之后运行make bootrom_,即可在F:Tornado2.2targetconfig9.26CFpcPentium3里找到新生成的bootrom_。插

入软盘后,输入mkboot A: bootrom_即可完成启动盘的制作。(注意A:后面有空格)

6。建立vxworks image工程

在Tornado中新建一个工程。选择“Create a bootable VxWorks image”,OK。

Step 1

Name: Project_bootable

Location: F:Tornado2.2targetconfig9.26CFpcPentium3project(这个地方为什么这么做不太理解,最后在这个新建的工程中,未出现default的文件夹)。

Workspace: Add to current Workspace

Step 2

Would you like to base your project on: A BSP,pcPentium3

Step 3

Finish

Step 4

在Files/Vxworks/Builds选项卡中选择Builds,在default上右键‘属性’,Macros选项卡->EXTRA_MODULES(Value)->rtl81x9.o->Add->OK (此处EXTRA_MODULES会报错,而BOOT_MODULES不会报错)。

Step 5

删除Files/Vxworks/Builds选项卡中Files工程中的rtl81x9.C(此处删除后,build的时候会报错所以未删除(两个工程的都删了,或者只删其中任意一个,都会报错。))。

Step 6

在Tornado环境的Workspace窗口中,选中前面新建的工程PROJECT,从鼠标右键弹出菜单中执行ReBuild All (VxWorks)。

Build Output窗口显示了build的过程。成功之后,生成

F:Tornado2.2targetconfig9.26CFpcPentium3projectdefaultvxWorks映像文件。

将该文件vxWorks复制到F:Tornado2.2targetconfig9.26CFpcPentium3object目录。(因为没有上面一步,所以没有做这一步)

Sever

Copyright 1984-1998 Wind River Systems, Inc.

CPU: PC PCPENTIUM3

Runtime Version:5.5.1

BSP version: 1.2/2

Creation date: Sep 27 2012,11:37:44

WDB: Ready.

选中Tornado菜单 Tools > Target Server > Configure„,出现Configure Target

Servers对话框:

Target Server: Configuration 1

Target Server Properties:

Back End: wdbrpc

Core File and Symbols: File

“C:Tornado2.2targetconfigBSPYUCHANGQINGpcPentium3objectvxWorks”

Target Name/IP Address:192.168.0.201

其他属性应该不需要改动。

OK.

然后再打开Configure Target Severs对话框,

在Target Sever下选中Configuration 1,

Launch.

在Tornado工具条的下拉列表框中选中192.168.0.201@bjut-b6ac^,然后用”->i”形状的按钮启动一个shell。(tornado中的一定要选,不然会说target server can't find!).前面要注意

9.显示“hello”

在现有的VXWORKS工程下新建文件,输入

#include "vxworks.h"

#include "stdio.h"

void hello()

{

printf("hello world!!!!");

}

保存后,右键compile,在OBJECT MODULES中找到hello.o文件右键download即可。(如果download有错,要重新做vxworks的驱动,记得添加组件WDB target server file system。)

中运行结果

在启动后的shell中会看到->提示符,输入hello,系统会自动显示hello world!!!!,实验完毕。

11.在显示器中显示结果

之后连按F5,即可运行完毕。

WIND NET CAN是VxWorks提供的CAN设备驱动,可以独立于CAN硬件设备开发CAN总线的应用程序,或者编写基于CAN的高层协议。

编译WIND NET CAN库,配置一个VxWorks映像,运行一个WIND NTE CAN应用程序。

安装完成后,一个WIND NET CAN库必须在使用前编译。编译一个标准库,1、启

动Tornado,创建一个Bootable的Tornado工程,这时Tools菜单中会出现wnCAN选项->Build wnCAN Library,选择奔腾3gnu.

2.4使用WIND NET CAN库配置一个VxWorks映像

2.4.1 增加WIND NET CAN库组件

1、单击Tornado工作区窗口的VxWorks标签,展开CAN network device结点。显示在2-5中。

2、增加CAN show routines到VxWorks映像。

3、增加一个CAN板组件到VxWorks映像。

在Files/Vxworks/Builds选项卡中选择Vxworks,右键CAN network

devices->Include 'network components'...,选择CAN core initialization、CAN device I/O interface和MSMCAN PC104,点击确定。

2.4.2 设置CAN板的组件特性

增加CAN板组件后,必须设置组件特性。

打开CAN板组件属性,设置一个有效地址0x320和一个有效的IRQ0x09,

右键点击或双击MSMCAN PC104,在Params 选项卡中依次在MSMCAN_PC104_IOADDRESS

项内填入十六进制数0x340,在MSMCAN_PC104_IRQ 项内填入0x09。如图1.2 所示。

右键MSMCAN PC104属性->Params,设置MSMCAN PC104_IRQ=0x09, MSMCAN

PC104_IOADDRESS=0x320.

ESD_CAN_PC104_200_DEVIO_NAME="/can/sja1000",ESD_CAN_PC104_200_BOARDS=1.

2.6 编译、启动和验证你的VxWorks映像文件

1、编译新的映像文件:点击Files选项卡,右键项目名节点,选择Rebulid All。

2、启动目标机。

3、创建,配置和发起一个目标机服务器。

4、发起一个WindSh窗口,键入WNCAN_Show去核实VxWorks映像文件正在运行在目标机上。