【VxWorks】入门教程3:模拟器连接及运行DKM程序

目录

5  模拟器连接

5.1  安装主机连接驱动

5.2  安装配置网络守护程序

5.3  建立自定义模拟器连接

6  模拟器运行调试DKM程序


5  模拟器连接

5.1  安装主机连接驱动

主机连接驱动(也就是WRTAP驱动)用于VxWorks与其他机器通信,它会将IP数据包交给主机操作系统处理。WRTAP驱动由VxWorks模拟器自动初始化。在Windows机器上,安装这个驱动可能会对机器系统性能产生影响,安装后如果出现网络问题,那么就手动对机器的网络连接进行配置吧。

本案例是TCP通信程序,为了实现跨机器通信,必须安装WRTAP驱动。

1)Win10找不到添加硬件选项,可在cmd输入“hdwwiz C:\windows\system32>hdwwiz”打开添加硬件窗口。

2)“下一步”,选择“安装我手动从列表选择的硬件(高级)(M)”。

3)“下一步”,选择“网络适配器”。

4)“下一步”,点击“从磁盘安装”, 选择安装目录/vxworks-6.9/host/x86-win32/bin/wrtap.inf文件,完成安装。

5)安装后,会在网络适配器管理界面显示新增了一个网络适配器,IP地址为“192.168.200.254”。

5.2  安装配置网络守护程序

VxWorks模拟器包含一个网络守护进程,该进程可以将多个模拟器实例连接到一个子网内,也可以将多个子网(甚至是独立的VxWorks模拟器)连接到一个更大的网络内。网络守护进程支持网络层的所有协议,如TCP/IP协议,也就是说,VxWorks模拟器可以用来测试任何广播或单播程序。

网络守护进程可以作为服务启动,也可以从控制台命令启动,记住,网络守护进程连接了主机系统和模拟器实例。

1)安装网络守护程序

开始菜单 > Wind River > VxWorks Development Shell,右键“以管理员身份运行”,输入“vxsimnetds_inst.exe”命令进行安装,如果之前有该守护进程,则通过“vxsimnetds_inst.exe /u”卸载。

2)启动网络守护进程服务

电脑 > 右键“管理” > 服务和应用程序,找到“Wind River Network Daemon for VxWorks Simulator”,右键“启动”。

5.3  建立自定义模拟器连接

VxWorks模拟器是一个模拟的硬件目标机,用来作为VxWorks的原型和测试台环境。

Workbench主机工具与目标系统之间必须先建立连接,才能与之通信。

Workbench > Remote Systems窗口,右键“New > Connection”,打开建立连接界面.

1)选择“Wind River VxWorks6.x Simulator Connection”

2)选择“Custom simulator”,VIP项目目录/default/VxWorks文件

3)“Next”至“Network Options”界面,选择“Full Network(simnet)”,注意红线处的IP地址,FTP测试时会用到。

4)“Next”至“Connection Summry”界面,输入连接名称,点击“Finish”完成创建。

6  模拟器运行调试DKM程序

1)连接模拟器

“Remote Systems”界面,选择刚才建立的“test_sim_connection”连接,右键“Connect”。此时会弹出“Target Console”窗口显示目标机输出,并加载我们之前生成的VxWorks镜像。

2)下载DKM应用程序

DKM项目右键“Download > VxWorks Kernel Task”打开加载内核模块界面,选择之前创建的“test_sim_connection”模拟器,点击“Download”。

首次加载会打开上面的界面,后面打开的界面如下图,可直接选择模拟器进行加载。

加载后,在“Remote Systems”窗口会显示“test_dkm_sim.out”文件。

在“Target Consoles”窗口,输入“moduleShow”命令,会输出已加载的内核模块,输入“lkup "tcpServer"”会查找可执行的入口函数。

3)执行DKM程序

启动tcpServer任务,“sp tcpServer”:

启动tcpClient程序,“tcpClient "127.0.0.1"”。

输入要发送的消息,然后输入“Y”,该客户端程序会将消息通过TCP协议发送给tcpServer,并等待tcpServer返回确认消息。

4)FTP连接测试

VxWorks模拟器添加用户,在“Target Consoles”窗口输入cmd回车进入VxWorks shell,然后输入“user add vxw vxw 01”添加用户,输入“C”退出shell。

打开CMD窗口,ping命令测试主机与VxWorks模拟器是否能够连通,然后ftp登录。

5)调试DKM程序

当任务异常退出时,如tcpServer,可通过“tt tTcpWork0”来查看堆栈信息,tTcpWork0是tcpServer的任务名称。

如果需要逐步断点调试,可在workbench源码左侧双击设置断点(浅蓝色圆圈),比如在tcpServer.c中设置断点。

第一种:附加调试

Step1:在“Target Consoles”窗口中输入命令“reboot”重启模拟器;

Step2:下载DKM内核模块;

Step3:在“Remote Systems”窗口“test_sim_connection > Wind River Target Debugger”右键“Debug > Attach to System VxWorks 6.9 (System Mode)”;

Step4:在“Target Consoles”窗口中输入命令“sp tcpServer”启动任务,即可命中断点,进行逐步调试;

第二种:直接以内核任务调试

DKM项目右键“Debug as > VxWorks Kernel Task”,直接下载到模拟器进行调试

调试效果:

上一篇:【VxWorks】入门教程2:创建VIP项目及DKM项目

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值