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映像文件正在运行在目标机上。


发布评论