1.1Tornado组件
开端之前先考虑一下下面5个问题,后边会给出这些问题的答案。
什么是Tornado?
什么是VxWorks?
怎样运用Tornado和VxWorks?
Tornado都供给了哪些便利?
这些文件存放在什么地方?
什么是Tornado?
┌─────────┐ ┌─────────┐
│Real-Time System │ │Development Tools│
└─────────┘ └─────────┘
│ Networking │
┴────────┬─────────┴
Tornado是一个开发实时嵌入式应用程序的集成开发环境。
它首要包含下列组件:
·VxWorks实时操作体系,用来嵌入式或运转时刻要求严厉的应用程序。
·测验、守时和调试用的开发东西。
·网络组件答应进行下列操作
·处理器内部通讯
·长途文件拜访
·长途指令/函数履行
·经过网络发动
开发东西
Tornado开发东西包含:
·Launch – 加载Tornado东西
·WindSh – 与方针机(Target)进行交互(只需成功运转方针服务器就能够发动windsh,办法:单击tornado的tools->shell菜单项即可发动 windsh)
·CrossWind – 源码级调试器
·Browser – 显现体系信息
·Project Facility – 装备应用程序或许VxWorks
·WindView – 多使命应用程序分析器
·Simulator – 在主机操作体系上运转的VxWorks方针机仿真程序
这些东西都能够经过Tcl定制,包含:
·添加新的功用
·定制用户接口
·运用一些常驻方针机东西
简直一切的Wind River东西都能够经过Tool Command Language(Tcl)定制,它是一个类似于Bourne Shell或C的脚本语言。
更多关于Tcl的信息拜见《Tcl and the Tk TollKit》,John Ousterhout著。
Tcl答应:
·添加用户界说指令
·定制Tornado GUI,添加新菜单项、按钮等等。
Tornado能够运转在Solaris 2.51,2.6和2.7上;Windows 95,98和NT上;以及HP-UX 10主机上。
UNIX和Windows下的一些GUI定制或许存在不一致。
Tornado绑定了对GNU C++的支撑。
实时体系
┌────────┐
┌───────┐ │ Memory Mgmt.│ ┌──────┐
│ File System │ └────────┘ │ I/O System │
└───────┘ Kernel └──────┘
┌───────┐ ┌───────┐
│Device Driver │ │ Network Stack│
└───────┘ └───────┘
实时操作体系中运转的应用程序能够有严厉的呼应时刻。(即能够拟定多少时刻内有必要做出呼应或报错)
实时操作体系具有多使命内核,完结以下功用:
·实时使命调度(根据优先级的抢占式调度)
·使命间的通讯
·互斥
其他规范外设都是以库的方法供给出来,不作为内核部分。
实时操作体系与非实时体系的差异:
·根据优先级的抢占式调度
·呼应速度更快
·内核更小而且能够装备(微内核架构)
功能优势
一切使命运转于同享地址空间内(windows下进程运转在虚拟地址空间内)
RAM fooLib tTaskA
int fooVal; ┌────fooSet(4)
text void fooSet(int x){ ─┤ tTaskB
data ─────fooVal = x; └──────────fooSet(99)
bss }
一切使命运转于特权形式。
·在Unix/NT体系中,一切进程独立存储各自的data段和bss段,同享text段,即一切的进程都调用同一地址下的text段履行相同的代码。
·在VxWorks体系中,当使命拜访到某个模块的text、data或bss段时,一切使命都是拜访的相同物理地址。
·一切使命都运转于同享地址空间内
+使得使命间的通讯愈加简略方便
+使得上下文的切换愈加敏捷(不需要保存和回复虚拟地址上下文联系)
+一个不正常的使命或许导致整个体系溃散
·一切使命都运转于特权形式
+没有体系调用的开支,一切VxWorks体系程序的调用都像一般程序调用相同。
穿插开发
Host Target
┌───────┐ RS-232 ┌──────┐
│ Tornado │ ──────────── │ VxWorks │
└───────┴─┐ ┌─┴──────┘
ethernet ─────┴─────────┴─────────
上图为典型的Tornado开发环境装备
·在host机上经过一些东西完结编码和编译
+修正
+经过界面或许指令行完结编译/装置/链接
+源代码办理(ClearCase, PVCS, Visual Source Safe,…)
·经过host上的Tornado东西完结target上的测验/调试作业
+下载方针模块
+履行
+源码级调试
+功能监测
·典型的开发周期循环包含在主机上重复的编码和编译,下载到方针机,并在方针机上测验代码的运转,然后再回到主机对代码做进一步的修正。
Tornado发布
·所支撑板卡的Boot Rom
+与板卡有关
+经过网络从主机上下载vxworks
+Turnkey for standard board(不能了解-_-)
·产品的CD-ROM包含
+运转在主机上的Tornado东西
+运转于方针机的VxWorks操作体系
+风河公司支撑的bsp
·编译器等
·关于VxWorks和Tornado的协助手册
·一些SPARC板选用OpenBoot方法下载bootRom程序,然后发动VxWorks
·Tornado的装置目录中自带包含编译器、连接器在内的GNU东西包。Tornado2.0板与Tornado1.0.1板运用相同的C编译器GCC2.7.2;仿真器(simulator)下的C++代码的编译器则根据EGCS1.0.2或EGCS1.0.3。