【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项目

 

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: VxWorks是一个实时操作系统,其设计考虑了许多实时性要求,包括高性能、硬实时性、多任务、可裁剪性、可移植性及可扩展性等。对于初学者来说,要想深入理解VxWorks操作系统,在学习过程中需要注意以下几点: 1. 学习VxWorks内核机制:VxWorks的内核机制是其实时性的关键,在学习时,需要熟悉其内核机制,包括多任务调度、中断处理、内核对象管理等。 2. 学习VxWorks编程:VxWorks支持C、C++等编程语言,但需要熟练掌握相关API函数及语言特性,例如任务创建、消息传递、内存管理、设备驱动等。 3. 学习VxWorks应用开发:VxWorks应用开发主要包括网络编程、文件系统、用户界面等。在学习过程中,需要熟悉网络编程中的Socket API、文件系统的API函数,以及用户界面的API函数等。 4. 实践经验:通过实践案例,深刻理解VxWorks操作系统的设计目标及实现方式,例如远程调试、实时数据采集及互操作性等。同时,积累VxWorks应用开发经验,以提高自己的实际能力。 总之,想要学好VxWorks操作系统,需要系统性的学习和实践。随着技术的不断发展,VxWorks操作系统将会在更多的领域得到应用,希望初学者能够在VxWorks的学习之路上获得更多的收获和成长。 ### 回答2: VxWorks是一个实时操作系统,在嵌入式系统中得到广泛的应用。VxWorks可以用于许多不同的应用,包括航空航天、网络设备、医疗设备等。下面将介绍VxWorks的基本知识和如何入门。 1. 安装VxWorks:首先需要安装VxWorks开发工具包,包括Tornado IDE、VxWorks内核和交叉编译工具。 2. 学习VxWorks基础知识:了解VxWorks的结构、内核、任务、任务切换、定时器、中断、消息队列、信号量和共享内存等。 3. 编写VxWorks应用程序:使用Tornado IDE编写VxWorks应用程序,包括编写任务、中断处理程序、消息队列、信号量等。 4. 调试VxWorks应用程序:使用Tornado IDE调试应用程序,例如设置断点、单步执行、监视变量值等。 5. 联机调试:使用Wind River System对VxWorks系统进行联机调试。 6. 内核剖析:了解并分析VxWorks的内核,如内核启动、任务调度、中断处理、内存管理、文件系统等。 7. 应用案例:学习VxWorks的应用案例,如网络设备、航天器、汽车电子等。 总之,入门VxWorks需要掌握其基本结构、编程语言、调试器等知识,同时了解其应用领域和案例,熟练掌握这些知识可以帮助开发者更好地开发 VxWorks 系统,在嵌入式系统中发挥更大的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值