欢迎来到天天文库
浏览记录
ID:16036393
大小:2.76 MB
页数:33页
时间:2018-08-07
《vxworks培训讲稿(嵌入式系统)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第一部分VxWorks&TornadoOverview第一章绪论VxWorks是一种嵌入式的实时操作系统,所谓嵌入式系统就是用户自己开发设计板子,板子上通常有一颗CPU,VxWorks支持32位的CPU,包括Intel公司的x86、Motorola公司的68k和PowerPC、MIPS、ARM、Intel公司的i960、Hitachi公司的SH。我们设计的这块板子通常没有软件的自开发能力,所以我们需要一台通用机来辅助开发,这台通用机可以是PC或工作站,我们称辅助我们软件开发的通用机为宿主机(Host),用户自己开发的板子为目标机(Ta
2、rget)。宿主机上要有一个集成开发环境(IDE)来辅助我们的软件开发,这套集成开发环境可以运行在Windows95/NT或UNIX下,包括交叉编译器(CrossCompiler)和交叉调试器(CrossDebugger),所谓交叉编译器就是在宿主机上编译生成可以在目标机上运行的代码IMAGE,交叉调试器就是通过宿主机和目标机之间的某种耦合方式实现前后台调试。我们称宿主机上的这套集成开发环境为Tornado,编译生成的目标机上的可执行代码IMAGE为VxWorks。在系统安装的时候,集成调试环境和VxWorks的原材料(一些obj文件
3、)都安装到宿主机上,编译生成的在目标机上运行的IMAGE内包含操作系统。下面我们分别来介绍这两部分内容。HostCrosscompilerCrossdebuggerTargetIMAGESerialport或network第二章VxWorks第一节IMAGE的结构VxWorks的IMAGE有三个层次、四个部分。APPWindKernelcomponentsVxMPVxVMITrueFFS……..BSP(板级支持包)33其RTOS内核是windkernel,这个内核有两个特点:1.windkernel是一个微内核,这个特点导致VxWor
4、ks有许多的Components2.windkernel对外设不做假设。所谓对外设不做假设是指操作系统不假设用户开发的板子上是否有总线以及有什麽样的总线,也不假设内存的大小及内存如何定位,不假设I/O及有多少I/O。举一个对外设假设的例子:DOS就是一个对外设假设的操作系统,DOS系统的移植中,外设必须符合BIOS标准。windkernel对外设不做假设的优点就是系统只与CPU有关,移植性好。由于windkernel对外设不做假设,IMAGE中就要有板级支持包BSP(即驱动程序)来完成对外设的管理。第一节IMAGE的生成Tornado
5、hostsharetargetconfighsrc..Ev2_bsp.wind第二节IMAGE各部分的细述2.3.1RTOS内核文件系统虚拟内存管理网络协议栈I/O系统接口1.功能组成:任务的管理与调度、任务的同步与通信、动态内存的管理、软时钟的管理、I/O管理多任务环境(Kernel)2.版本:用户可裁减掉程序员认为没有使用到的功能,直到只剩下最简内核(任务的管理与调度,我们称其为纳核,可以只有8k)。VxWorks:标准的单CPU版本。VxFusion:标准的多CPU版本,应用程序在多个CPU上运行,但仍然象在一个CPU33上运行
6、那样进行数据的交换、通信与同步。IxWorks:Osek:3.统一的API:可以从两个角度来理解,即对于VxWorks支持的不同的CPU、VxWorks的不同版本,API都是一样的。VxWorks的API是由操作系统内核提供的服务原语搭建起来的。服务原语,是不可打断的,这样可以保证系统调用的时间尽量小、尽量是常量和可确定。举例:DOS的API是INT21,UNIX的API是SystemCall。4.验证性:FAA、FDA。5.实时性:指操作系统内核采用了一种算法,使tc(contextswich)和ts(systemcall)尽可能小
7、、尽可能是常量和可确定。所谓可确定是指tc和ts有一个上限,而不是一个统计的结果,即不会出现峰值,不会随系统任务的增多而增多。Tak1TaskTask2tcts2.3.2Components1.基本模块:WDBAgent:两种工作模式(中断或查询),支持系统级和任务级调试Shell:Loader:支持动态地下载或卸载模块WindView支持模块:支持利用WindView动态调试目标程序CodeTest支持模块:支持利用CodeTest测试系统的代码覆盖率和内存使用情况SENS:是VxWorks的可裁减的增强型网络协议栈(Scalabl
8、eEnhancedNetworkStack)。它除了提供TCP/IP协议栈,还支持其他协议。最大的特点就是采用零拷贝机制,即打包/解包是通过指针的方式网络扩展模块:提供了丰富的网络协议(BSD4.3,TCPV4,UDPe
此文档下载收益归作者所有