Vxworks的核心,一般称为Wind,包括多任务调度,任务间的同步和进程间通信机制以及中断处理,看门狗和内存管理机制。Wind提供信号量做为任务间同步和互斥的机制,它的信号量类型有,二进制信号量,计数信号量,互斥信号量和POSIX信号量。 copyright paper51.com 板级支持包BSP对各种板子的硬件功能提供了统一的软件接口,它包括硬件初始化,中断的产生和处理,硬件时钟和计时管理,局域和总线内存地址映射,内存分配等等。每个板级支持包包括一个ROM启动或其他启动机制。 copyright paper51.com Vxworks的网络部分提供了对其他网络和TCP/IP网络系统的“透明”访问,包括与BSD套接字兼容的编程接口,远程过程调用,SNMP,远程文件访问,以及BOOTP和ARP代理。无论是松耦合的串行线路,标准的以太网连接还是紧耦合的利用共享内存的背板总线,所有的Vxworks网络机制都遵循标准的Internet协议。 内容来自www.paper51.com Vxworks提供了一个实用例程的扩展集,包括中断处理,看门狗计时器,消息登录,内存分配,字符扫描,线缓冲和环缓冲管理,链表管理和ANSI C 标准。 http://www.paper51.com 4.2 开发工具Tornado简介 内容来自论文无忧网 www.paper51.com Tornado是与Vxworks相配套的集成开发环境,以其提供完善而实用的编辑,编译,连接,源代码级调试等诸多调试工具和调试手段而闻名。 copyright paper51.com Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境. 内容来自论文无忧网 www.paper51.com 4.2.1 Tornado IDE的主要组成 内容来自www.paper51.com Tornado是交叉开发环境运行在主机上的部分,是开发和调试Vxworks系统不可缺少的组成部分。Tornado的基本目的和作用就是将与操作系统及应用程序无关的工作,如编辑,编译,测试,配置等工作与目标机分离开来,使这些工作一方面不会与操作系统争夺资源,另一方面通过将它们作成一个集成开发环境来方便系统的开发和调试工作。同时,由于该集成开发环境与目标机通过统一的接口连接,并为接口提供了丰富的API,使得用户可以方便的添加和修改开发工具。 内容来自论文无忧网 www.paper51.com Tornado的组成部分有:集成的源代码编辑器,工程管理工具,集成的C和C++编译器和make工具,用于收集可视化资源,监视目标系统的浏览器,图形化的增强调试器CrossWind,C语言命令外壳windsh,集成的Vxworks目标仿真器VxSim,集成的软件逻辑分析仪WindView,还包括各种选项,可以改变归TornadoGUI的外观等。 内容来自论文无忧网 www.paper51.com 使用TornadoIDE,可以大大缩短嵌入式开发周期.Tornado支持动态连接与加载,允许开发者可以分批将目标模块加载到目标系统上去。这样,编辑-测试-调试的周期就会大为缩短,而且所有的模块都是可以共享的,主机上的应用程序模块也不需要重新链接,为开发者省去了很多通常的开发步骤。 http://www.paper51.com 4.2.2 Tornado的核心开发工具 内容来自www.paper51.com Tornado软件工具包的核心工具是各个Tornado软件工具包都具有的开发工具,主要包括以下几种: 内容来自论文无忧网 www.paper51.com 图形化的交叉调试器(Debugger)CrossWind/WDB copyright paper51.com
这是一个远程的源代码集成调试器,支持任务级和系统级调试,支持混合源代码和汇编代码显示,支持多目标机同时调试。它的加速器特征包括开发者可以成组的观察表达式的观察窗口;可以在调试器的图形界面中迅速改变变量,寄存器和局部变量的值;可以为不同组的元素设定根值数,通过信息规整和分类的方法有效的提供信息,还提供开发者熟悉的GNU/GDB调试器引擎,具有很强的灵活性。 http://www.paper51.com
工程配置工具(Project facility/Configuration) 内容来自论文无忧网 www.paper51.com 工程工具简化了Vxworks应用程序的组织,配置和建立工作,使得工程管理和配置的许多方面实现了自动化,增强了开发小组的专业技术,单独的组件可以单独独立开发,小组中各个成员可以独立工作而不相互干扰。它的功能主要有makefile自动生成维护,软件工程维护,自动的依赖性分析,代码容量计算,自动裁剪。 paper51.com 集成仿真器(Integrated Simulator) paper51.com 仿真器做为核心工具包含在各个软件包中,因而允许开发者在没有BSP,操作系统配置,目标机硬件的情况下,使用Tornado迅速开始开发工作。但该仿真器都是限制版本的,如果想获得全部功能的仿真器,可以根据所买的软件包的条件从WindPower可选工具进行选择。 http://www.paper51.com 诊断分析工具(WindView for the Integrated Simulator) http://www.paper51.com WindView是一个图形化的动态诊断和分析工具,主要是向开发者提供目标机硬件上实际运行的应用程序的许多的详细情况。它可以和VxSim一起使用。这种权功能版本的WindView提供了运行在集成仿真器上的Vxworks应用程序的详细的动态行为,图形化显示了任务,中断和系统对象互相作用的复杂关系,还可以选择用于监视目标硬件系统行为。 内容来自www.paper51.com C/C++编译环境(C/c++compilation Environment) 内容来自www.paper51.com Tornado提供交叉编译器,iostreams类库和一系列的工具来支持C语言和C++语言。交叉编译器进行了很多优化,允许开发者能够迅速产生高效而简洁的代码。 内容来自www.paper51.com Iostreams类库支持C++中的格式化的和类型安全的I/O,也可以扩展到用户自定义数据类型。它对C++语言的支持包括,一场时间处理,标准模板库,运行类型识别,支持静态构造器和析构器的加载器,C++调试器,保证了工具与开发环境紧密的结合在一起。 http://www.paper51.com
5 数据分析及设计 内容来自www.paper51.com
5.1 四种通过AP的HTTP数据流分析 paper51.com 5.1.1 抓包时的模拟网络拓扑结构图 内容来自论文无忧网 www.paper51.com
paper51.com
图5-1 抓包的实验网络拓扑结构 http://www.paper51.com
在该拓扑图中,对外网和AP来说,测试HUB是透明的,为了便于抓取AP和外网交互的数据报文,特意使用了具有链路层广播能力的HUB来使Host的有线网卡获取AP传输到外网的报文,利于分析。因为有限网卡使用了一个私有的IP地址,所以Host主机不能通过有线网卡与外界交互,保持了通信链路的唯一性。 paper51.com 5.1.2 抓包时的使用的设备 内容来自论文无忧网 www.paper51.com PC一台(含有线以太网接口)MAC:00-16-E6-55-F2-31。IP:192.168.0.121 paper51.com 无线网卡WDA-2320一台(无线接口)MAC:00-19-5B-CA-E7-13。IP:172.18.213.183 内容来自www.paper51.com 无线网卡530一台(无线接口)MAC:00-17-9A-C3-4C-E0。IP:192.168.0.50 copyright paper51.com 无线访问点一台(AP,含有线出口)无线网卡MAC地址:00:03:7f:be:f0:40 - 00:03:7f:be:f0:46。有线出口的MAC地址:00:03:7f:be:f0:3f 。AP的IP地址:172.18.213.184 http://www.paper51.com 测试用HUB一台(具体数据无记录) copyright paper51.com 5.1.3 抓包时的有线和无线工具 http://www.paper51.com 无线网抓包工具:Airopeek http://www.paper51.com 有线网抓包工具:Etherpeek paper51.com 5.1.4 包文件的命名规则 paper51.com packets-Proxy/Direct-With-Name/IP-Host/AP-NO. apc/pkt copyright paper51.com 其中Proxy是指通过HTTP代理服务器访问网络时抓的包,Direct则是直接访问,没有使用代理时抓到的包。Name是指在浏览器地址栏直接输入域名访问网络时抓到的包,IP则是直接在地址栏输入IP地址访问网络时抓到的包。Host是在实验机的无线网卡上抓到的包,AP是在AP的以太网出口上抓到的包。NO是指抓到的报文的编号,一般同类型的报文抓取三次,所以编号最高为3。后缀为apc表明是在Host上抓的包,后缀为pkt表明是在AP端抓的包。 内容来自www.paper51.com
|