VxWorks Tornado基礎構成配置
1.1Tornado組件
本文引用地址:http://www.ex-cimer.com/article/201609/304991.htm開始之前先考慮一下下面5個問題,后面會給出這些問題的答案。
什么是Tornado?
什么是VxWorks?
怎樣使用Tornado和VxWorks?
Tornado都提供了哪些方便?
這些文件存放在什么地方?
什么是Tornado?
┌─────────┐ ┌─────────┐
│Real-Time System │ │Development Tools│
└─────────┘ └─────────┘
│ Networking │
┴────────┬─────────┴
Tornado是一個開發(fā)實時嵌入式應用程序的集成開發(fā)環(huán)境。
它主要包括下列組件:
·VxWorks實時操作系統(tǒng),用來嵌入式或運行時間要求嚴格的應用程序。
·測試、定時和調(diào)試用的開發(fā)工具。
·網(wǎng)絡組件允許進行下列操作
·處理器內(nèi)部通信
·遠程文件訪問
·遠程命令/函數(shù)執(zhí)行
·通過網(wǎng)絡啟動
開發(fā)工具
Tornado開發(fā)工具包括:
·Launch - 加載Tornado工具
·WindSh - 與目標機(Target)進行交互(只要成功運行目標服務器就可以啟動windsh,方法:單擊tornado的tools->shell菜單項即可啟動 windsh)
·CrossWind - 源碼級調(diào)試器
·Browser - 顯示系統(tǒng)信息
·Project Facility - 配置應用程序或者VxWorks
·WindView - 多任務應用程序分析器
·Simulator - 在主機操作系統(tǒng)上運行的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++的支持。
實時系統(tǒng)
┌────────┐
┌───────┐ │ Memory Mgmt.│ ┌──────┐
│ File System │ └────────┘ │ I/O System │
└───────┘ Kernel └──────┘
┌───────┐ ┌───────┐
│Device Driver │ │ Network Stack│
└───────┘ └───────┘
實時操作系統(tǒng)中運行的應用程序可以有嚴格的響應時間。(即可以制定多少時間內(nèi)必須做出響應或報錯)
實時操作系統(tǒng)具有多任務內(nèi)核,完成以下功能:
·實時任務調(diào)度(基于優(yōu)先級的搶占式調(diào)度)
·任務間的通信
·互斥
其他標準外設都是以庫的形式提供出來,不作為內(nèi)核部分。
實時操作系統(tǒng)與非實時系統(tǒng)的區(qū)別:
·基于優(yōu)先級的搶占式調(diào)度
·響應速度更快
·內(nèi)核更小并且可以配置(微內(nèi)核架構)
性能優(yōu)勢
所有任務運行于共享地址空間內(nèi)(windows下進程運行在虛擬地址空間內(nèi))
RAM fooLib tTaskA
int fooVal; ┌────fooSet(4)
text void fooSet(int x){ ─┤ tTaskB
data ─────fooVal = x; └──────────fooSet(99)
bss }
所有任務運行于特權模式。
·在Unix/NT系統(tǒng)中,所有進程獨立存儲各自的data段和bss段,共享text段,即所有的進程都調(diào)用同一地址下的text段執(zhí)行相同的代碼。
·在VxWorks系統(tǒng)中,當任務訪問到某個模塊的text、data或bss段時,所有任務都是訪問的相同物理地址。
·所有任務都運行于共享地址空間內(nèi)
+使得任務間的通信更加簡單快捷
+使得上下文的切換更加迅速(不需要保存和回復虛擬地址上下文關系)
+一個不正常的任務可能導致整個系統(tǒng)崩潰
·所有任務都運行于特權模式
+沒有系統(tǒng)調(diào)用的開銷,所有VxWorks系統(tǒng)程序的調(diào)用都像普通程序調(diào)用一樣。
交叉開發(fā)
Host Target
┌───────┐ RS-232 ┌──────┐
│ Tornado │ ──────────── │ VxWorks │
└───────┴─┐ ┌─┴──────┘
ethernet ─────┴─────────┴─────────
上圖為典型的Tornado開發(fā)環(huán)境配置
·在host機上通過一些工具完成編碼和編譯
+編輯
+通過界面或者命令行完成編譯/裝配/鏈接
+源代碼管理(ClearCase, PVCS, Visual Source Safe,...)
·通過host上的Tornado工具完成target上的測試/調(diào)試工作
+下載目標模塊
+執(zhí)行
+源碼級調(diào)試
+性能監(jiān)測
·典型的開發(fā)周期循環(huán)包括在主機上反復的編碼和編譯,下載到目標機,并在目標機上測試代碼的運行,然后再回到主機對代碼做進一步的修改。
Tornado發(fā)布
·所支持板卡的Boot Rom
+與板卡有關
+通過網(wǎng)絡從主機上下載vxworks
+Turnkey for standard board(不能理解-_-)
·產(chǎn)品的CD-ROM包括
+運行在主機上的Tornado工具
+運行于目標機的VxWorks操作系統(tǒng)
+風河公司支持的bsp
·編譯器等
·關于VxWorks和Tornado的幫助手冊
·一些SPARC板采用OpenBoot方式下載bootRom程序,然后啟動VxWorks
·Tornado的安裝目錄中自帶包括編譯器、連接器在內(nèi)的GNU工具包。Tornado2.0板與Tornado1.0.1板使用同樣的C編譯器GCC2.7.2;仿真器(simulator)下的C++代碼的編譯器則基于EGCS1.0.2或EGCS1.0.3。
評論