Tornado开发环境下网络仿真

Tornado开发环境下网络仿真
 
由于是初学 VxWorks,现在没有相应的开发板,于是乎采用VxWorks环境自带的仿真器进行仿真。对于基于单机环境的Demo程序,如任务间通信,可以顺利进行;而对于网络仿真或者是串口仿真,就不是那么顺利了。今天偶就碰到了这个问题。由于偶用的VxWorks是一个D版软件,公司虽然有可以用的Tornado2.0开发工具,但是由于这个程序比较大(有几百M吧),必须用移动硬盘采能拷过来,而本人目前还没买移动硬盘,所以嘛,就只好先用这个D版在win32环境中模拟一把。
   编写了一个简单程序,简单的测试目标机有几个Socket端口在侦听状态。Code->Compile->link通过完毕,执行download SockDemo.out出错提示:
errors-while-downloading  E:/Tornado2.0Forx86/target/proj/KernelTest/SIMNTgnu/KernelTest.out:
_socket
_hostGetByName
_connect
_inet_addr
我的第一感觉就是 SIMNNTgnu模拟的Vxworks.exe有没包括网络支持包。怎么解决呢,难道我还要重新创建一个vxworks.exe映像不成?用百度搜了一把,终于有点收获。
要利用 Tornado开发环境建立网络仿真则:
必需条件:
     Tornado中的simulator必须是full simulator(可在Tornado 点 Help->About->Details查看,在安装Tornado的时候也能查看)。full simulator具有integrated simulator所有的功能,而且还能进行网络仿真,至于安装的是哪一个simulator是由License决定的。
1、安装ULIP适配器
     在控制面板里选择"添加删除硬件"->"添加/排除设备故障"->"添加新设备"-> "从列表选择硬件"->"网卡"->"从磁盘安装",接着选择tornado/host/x86-win32/bin下的netULIP.inf,然后确定并关闭窗口。装好之后,在ipconfig /all的输出中可看到多了一个网卡windriver ulip。
 
2、配置ULIP适配器
 
 
软件环境:
     Tornado 2.2(.1) 和 VxWorks 5.5(.1)
必需条件:
     Tornado中的simulator必须是full simulator(可在Tornado 点 Help->About->Details查看,在安装Tornado的时候也能查看)。full simulator具有integrated simulator所有的功能,而且还能进行网络仿真,至于安装的是哪一个simulator是由License决定的。
 
步骤:
 
1、安装ULIP适配器
     在控制面板里选择"添加删除硬件"->"添加/排除设备故障"->"添加新设备"-> "从列表选择硬件"->"网卡"->"从磁盘安装",接着选择tornado/host/x86-win32/bin下的netULIP.inf,然后确定并关闭窗口。装好之后,在ipconfig /all的输出中可看到多了一个网卡windriver ulip。
 
2、配置ULIP适配器
      在IP栏输入192.168.255.254(可以是x.x.x.254),子网掩码设为255.255.255.0,点高级,在wins页选择禁用TCP/IP上的NETBIOS,然后确定关闭,然后可用ping 192.168.255.254验证适配器是否工作正常。
 
3、启动Routing and Remote Access这个服务,并将该服务设为自动启动。
 
4、修改tornado argetconfigsimpcconfig.h
      #if FALSE    /* 将原先的TRUE改成FALSE */
           #undef INCLUDE_NETWORK
           #undef INCLUDE_NET_INIT
           #undef WDB_COMM_TYPE
           #define WDB_COMM_TYPE WDB_COMM_PIPE
           #undef WDB_TTY_TEST
      #else /* !TRUE */
           #define INCLUDE_END
           #undef INCLUDE_WDB_SYS /* system mode not supported on full simulator */
           #undef WDB_MODE
           #define WDB_MODE WDB_MODE_TASK /* do not allow switch to system mode */
      #endif /* TRUE */
 
5、新建一个bootable的工程,BSP选为simpc,然后编译。如果你想检验一下网络功能,可在workspace的vxworks页的network components->networking protocols->network applications->ping client点右键include ping client,重新build。
 
6、Launch simulator,选择custom-built simulator,浏览选中刚才编译出来的vxworks.exe,processor no.设为0(full simulator可支持16个simulator,并且能够互相通信,它们的processor no.分别是0-15),确定。
 
7、Launch target server,关闭Launch simulator后会提示你launch target server,点Details,选中Full simulator,修改上面的命令行参数,将C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/tsfs改为系统中存在的目录,点OK启动target server,然后你可以双击窗口右下方的target server图标查看启动情况。当然你也可以通过Tornado菜单(Tools->target server->configure)进行target server的配置并启动它。
 
8、如果Target server启动成功,你点launch shell启动一个shell,输入"ping "host的ip",5",回车,ping通了就说明网络仿真已经成功。
 
9、simulator与其它主机的通信:
    假设host0(你的主机,simulator运行于此机上)IP为10.12.9.113,host1的IP为10.12.9.129,如果host1想与simulator通讯,只需在host1的路由表中增加一项:route add 192.168.255.1 10.12.9.113 metric 1,然后可以分别在host1上ping 192.168.255.1和simulator上ping 10.12.9.129进行验证。
[引用]:http://blog.blogchina.com/refer.53256.html
这个过程,需要重建 BSP,重新生成Vxworks.exe。(看来开头说的没错)。至于怎么重建BSP不是一句话能说清楚的,建议看一下这个方面的书,偶以前也没搞过,自己摸索吧。呵呵。。
想看更详细的内容,请看下回分解。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值