當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 1.1Tornado組件開始之前先考慮一下下面5個(gè)問題,后面會(huì)給出這些問題的答案。什么是Tornado?什么是VxWorks?怎樣使用Tornado和VxWorks?Tornado都提供了哪些方便?這些文件存放

 1.1Tornado組件

開始之前先考慮一下下面5個(gè)問題,后面會(huì)給出這些問題的答案。

什么是Tornado?

什么是VxWorks?

怎樣使用Tornado和VxWorks?

Tornado都提供了哪些方便?

這些文件存放在什么地方?

什么是Tornado?

┌─────────┐ ┌─────────┐

│Real-Time System │ │Development Tools│

└─────────┘ └─────────┘

│ Networking │

┴────────┬─────────┴

Tornado是一個(gè)開發(fā)實(shí)時(shí)嵌入式應(yīng)用程序的集成開發(fā)環(huán)境。

它主要包括下列組件:

·VxWorks實(shí)時(shí)操作系統(tǒng),用來嵌入式或運(yùn)行時(shí)間要求嚴(yán)格的應(yīng)用程序。

·測試、定時(shí)和調(diào)試用的開發(fā)工具。

·網(wǎng)絡(luò)組件允許進(jìn)行下列操作

·處理器內(nèi)部通信

·遠(yuǎn)程文件訪問

·遠(yuǎn)程命令/函數(shù)執(zhí)行

·通過網(wǎng)絡(luò)啟動(dòng)

開發(fā)工具

Tornado開發(fā)工具包括:

·Launch - 加載Tornado工具

·WindSh - 與目標(biāo)機(jī)(Target)進(jìn)行交互(只要成功運(yùn)行目標(biāo)服務(wù)器就可以啟動(dòng)windsh,方法:單擊tornado的tools->shell菜單項(xiàng)即可啟動(dòng) windsh)

·CrossWind - 源碼級(jí)調(diào)試器

·Browser - 顯示系統(tǒng)信息

·Project Facility - 配置應(yīng)用程序或者VxWorks

·WindView - 多任務(wù)應(yīng)用程序分析器

·Simulator - 在主機(jī)操作系統(tǒng)上運(yùn)行的VxWorks目標(biāo)機(jī)仿真程序

這些工具都可以通過Tcl定制,包括:

·增加新的功能

·定制用戶接口

·利用一些常駐目標(biāo)機(jī)工具

幾乎所有的Wind River工具都可以通過Tool Command Language(Tcl)定制,它是一個(gè)類似于Bourne Shell或C的腳本語言。

更多關(guān)于Tcl的信息參見《Tcl and the Tk TollKit》,John Ousterhout著。

Tcl允許:

·增加用戶定義命令

·定制Tornado GUI,增加新菜單項(xiàng)、按鈕等等。

Tornado可以運(yùn)行在Solaris 2.51,2.6和2.7上;Windows 95,98和NT上;以及HP-UX 10主機(jī)上。

UNIX和Windows下的一些GUI定制可能存在不一致。

Tornado綁定了對(duì)GNU C++的支持。

實(shí)時(shí)系統(tǒng)

┌────────┐

┌───────┐ │ Memory Mgmt.│ ┌──────┐

│ File System │ └────────┘ │ I/O System │

└───────┘ Kernel └──────┘

┌───────┐ ┌───────┐

│Device Driver │ │ Network Stack│

└───────┘ └───────┘

實(shí)時(shí)操作系統(tǒng)中運(yùn)行的應(yīng)用程序可以有嚴(yán)格的響應(yīng)時(shí)間。(即可以制定多少時(shí)間內(nèi)必須做出響應(yīng)或報(bào)錯(cuò))

實(shí)時(shí)操作系統(tǒng)具有多任務(wù)內(nèi)核,完成以下功能:

·實(shí)時(shí)任務(wù)調(diào)度(基于優(yōu)先級(jí)的搶占式調(diào)度)

·任務(wù)間的通信

·互斥

其他標(biāo)準(zhǔn)外設(shè)都是以庫的形式提供出來,不作為內(nèi)核部分。

實(shí)時(shí)操作系統(tǒng)與非實(shí)時(shí)系統(tǒng)的區(qū)別:

·基于優(yōu)先級(jí)的搶占式調(diào)度

·響應(yīng)速度更快

·內(nèi)核更小并且可以配置(微內(nèi)核架構(gòu))

性能優(yōu)勢(shì)

所有任務(wù)運(yùn)行于共享地址空間內(nèi)(windows下進(jìn)程運(yùn)行在虛擬地址空間內(nèi))

RAM fooLib tTaskA

int fooVal; ┌────fooSet(4)

text void fooSet(int x){ <─┤ tTaskB

data <─────fooVal = x; └──────────fooSet(99)

bss }

所有任務(wù)運(yùn)行于特權(quán)模式。

·在Unix/NT系統(tǒng)中,所有進(jìn)程獨(dú)立存儲(chǔ)各自的data段和bss段,共享text段,即所有的進(jìn)程都調(diào)用同一地址下的text段執(zhí)行相同的代碼。

·在VxWorks系統(tǒng)中,當(dāng)任務(wù)訪問到某個(gè)模塊的text、data或bss段時(shí),所有任務(wù)都是訪問的相同物理地址。

·所有任務(wù)都運(yùn)行于共享地址空間內(nèi)

+使得任務(wù)間的通信更加簡單快捷

+使得上下文的切換更加迅速(不需要保存和回復(fù)虛擬地址上下文關(guān)系)

+一個(gè)不正常的任務(wù)可能導(dǎo)致整個(gè)系統(tǒng)崩潰

·所有任務(wù)都運(yùn)行于特權(quán)模式

+沒有系統(tǒng)調(diào)用的開銷,所有VxWorks系統(tǒng)程序的調(diào)用都像普通程序調(diào)用一樣。

交叉開發(fā)

Host Target

┌───────┐ RS-232 ┌──────┐

│ Tornado │ ──────────── │ VxWorks │

└───────┴─┐ ┌─┴──────┘

ethernet ─────┴─────────┴─────────

上圖為典型的Tornado開發(fā)環(huán)境配置

·在host機(jī)上通過一些工具完成編碼和編譯

+編輯

+通過界面或者命令行完成編譯/裝配/鏈接

+源代碼管理(ClearCase, PVCS, Visual Source Safe,...)

·通過host上的Tornado工具完成target上的測試/調(diào)試工作

+下載目標(biāo)模塊

+執(zhí)行

+源碼級(jí)調(diào)試

+性能監(jiān)測

·典型的開發(fā)周期循環(huán)包括在主機(jī)上反復(fù)的編碼和編譯,下載到目標(biāo)機(jī),并在目標(biāo)機(jī)上測試代碼的運(yùn)行,然后再回到主機(jī)對(duì)代碼做進(jìn)一步的修改。

Tornado發(fā)布

·所支持板卡的Boot Rom

+與板卡有關(guān)

+通過網(wǎng)絡(luò)從主機(jī)上下載vxworks

+Turnkey for standard board(不能理解-_-)

·產(chǎn)品的CD-ROM包括

+運(yùn)行在主機(jī)上的Tornado工具

+運(yùn)行于目標(biāo)機(jī)的VxWorks操作系統(tǒng)

+風(fēng)河公司支持的bsp

·編譯器等

·關(guān)于VxWorks和Tornado的幫助手冊(cè)

·一些SPARC板采用OpenBoot方式下載bootRom程序,然后啟動(dòng)VxWorks

·Tornado的安裝目錄中自帶包括編譯器、連接器在內(nèi)的GNU工具包。Tornado2.0板與Tornado1.0.1板使用同樣的C編譯器GCC2.7.2;仿真器(simulator)下的C++代碼的編譯器則基于EGCS1.0.2或EGCS1.0.3。[!--empirenews.page--]

·更詳細(xì)的安裝Tornado方法請(qǐng)參考Wind River Products Installation Guide

·www.wrs.com/corporate/support/prodbullet/T2.0上有一些相關(guān)信息,比如對(duì)于已知問題的解釋、產(chǎn)品公告等。

可移植性

┌───────┐

│ HSP │

└───────┘

┌───────┐ ┌───┐

│ Generic ││ │

│ VxWorks ││ │

└───────┘ │ │

┌───────┐ │ WDB │

│ Arch ││ Agent │

└───────┘ │ │

┌───────┐ │ │

│ BSP │ │ │

└───────┘ └───┘

·VxWorks中大部分是與板卡無關(guān)的,VxWorks與板卡有關(guān)的部分有:

+Arch層(例如:MC680X0、PPC、i960、x86、arm)

+與板卡有關(guān)部分(例如:硬件初始化、VME總線接口、定時(shí)功能等)

+與主機(jī)有關(guān)的部分(例如:交叉編譯器、tornado工具和target server)

·因?yàn)閃DB調(diào)試器獨(dú)立于VxWorks操作系統(tǒng),所以能夠直接操作目標(biāo)機(jī)并在遠(yuǎn)端執(zhí)行源碼級(jí)系統(tǒng)調(diào)試。

·BSP是Board Support Package的縮寫,是VxWorks中與板卡密切相關(guān)的部分。HSP是Host Support Package的縮寫,是Tornado中與主機(jī)密切相關(guān)的部分。

Tornado目錄樹

┌host Tornado一些主機(jī)上的工具

├SETUP 安裝程序

/usr/wind ───┼share shared XDR代碼

├target VxWorks操作系統(tǒng)以及板級(jí)支持包

└docs html在線幫助文檔

·shared XDR代碼用于在主機(jī)工具和目標(biāo)機(jī)之間傳輸數(shù)據(jù),eXternal Data Representation是RPC(Remote Procedure Call)應(yīng)用程序在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)的一種標(biāo)準(zhǔn)格式。

·Tornado目錄樹可以被安裝到任意目錄中。約定安裝目錄/usr/wind/指wind目錄,對(duì)于Windows主機(jī)來說wind目錄可能位于C:\Tornado目錄下。

Host目錄樹

┌include Tornado工具的頭文件

├src VxColor demo源文件

├host-os 主機(jī)相關(guān)工具

│ ├bin 主機(jī)上Tornado和GNU的執(zhí)行程序

host ───┤ └lib Tornado工具運(yùn)行庫

├resource GUI,Tcl以及幫助支持文件

└tcl 標(biāo)準(zhǔn)Tcl發(fā)布

·host-os目錄命名規(guī)則為硬件-操作系統(tǒng),正確命名如下:

x86-win32 所有的Windows主機(jī)

sun4-solaris Solaris主機(jī)

parisc-hpux10 HP-UX主機(jī)

Target目錄樹

┌config 用來配置和編譯VxWorks的文件

│ ├all 通用配置文件

│ ├bspName 板級(jí)支持包

│ └comps VxWorks組件描述文件以及配置

target───┼proj 已編譯的VxWorks自啟動(dòng)工程

├h VxWorks頭文件

├lib VxWorks提供的庫文件

├src 部分VxWorks源代碼

└unsupported 工具、驅(qū)動(dòng)

·啟動(dòng)程序以及VxWorks啟動(dòng)代碼位于wind/target/config/all目錄中。

·BSP源代碼位于wind/target/config/bspName/sysLib.c中。

+該文件可能包含BSP目錄中的其他文件,以及wind/target/src/drv下的通用驅(qū)動(dòng)文件(例如:位于wind/target/src/drv/timer目錄下的定時(shí)程序)

+標(biāo)準(zhǔn)發(fā)布版中不包括網(wǎng)絡(luò)和SCSI驅(qū)動(dòng)源碼

·VxWorks庫文件通常是由一個(gè)目標(biāo)模塊組成,有時(shí)也會(huì)由多個(gè)目標(biāo)模塊以及與之相關(guān)的頭文件組成,例如:

Library Routine Include file(s)

----------- ------------ -------------------

taskLib taskSpawn taskLib.h

memPartLib malloc stdlib.h

semLib semTake semLib.h

sysLib sysHwInit sysLib.h

1.2幫助

幫助手冊(cè)

在線幫助

用戶群

技術(shù)支持

WindSurf(風(fēng)河公司的一個(gè)網(wǎng)站,類似于論壇,上面有各種常見問題以及解決方法,可以發(fā)帖提問,有高人指點(diǎn))

概述

Tornado提供各種類型的幫助(括號(hào)中為手冊(cè)英文全稱)

·關(guān)于主機(jī)上的工具

+Tornado用戶手冊(cè)(Tornado User's Guide)

+GNU工具用戶手冊(cè)(GNU ToolKit User's Guide)

+WindView用戶手冊(cè)(WindView User's Guide)

·關(guān)于VxWorks操作系統(tǒng)

+VxWorks程序員指南(VxWorks Programmer's Guide)

+VxWorks網(wǎng)絡(luò)程序員指南(VxWorks Network Programmer's Guide)

+VxWorks參考手冊(cè)(VxWorks Reference Manual)

+BSP參考手冊(cè)(HTML)(BSP Reference)

·Tornado在線幫助

·技術(shù)支持(如果購買了的話)

·其他手冊(cè)包括

+Wind River Products Installation Guide.

+Customer Support User’s Guide

+Tornado Release Notes.

+Tornado API Guide.

+Debugging with GDB

+GNU Make

·Tornado在線幫助

+所有Tornado和VxWorks幫助手冊(cè)都提供HTML版,位于wind/docs目錄下。

+在Windows和UNIX下可以通過Help按鈕打開幫助

+在Windows主機(jī)上通過F1按鈕還能打開一些與上下文有關(guān)的幫助。

其他資源

·包含VxWorks和嵌入式編程主題的新聞組:comp.os.vxworks

·培訓(xùn)課程

+Tornado設(shè)備驅(qū)動(dòng)編寫(Tornado Device Driver Workshop)

+Tornado BSP培訓(xùn)(Tornado BSP Training Workshop)

+Tornado工具培訓(xùn)(Tornado Tools Training Workshop)

·提供下列問題的技術(shù)支持

+安裝時(shí)問題以及安裝媒體出錯(cuò)

+WRS軟件、文檔和服務(wù)問題

+幫助理解WRS產(chǎn)品功能

·WindSurf自助網(wǎng)頁提供:搜索引擎、FAQ、補(bǔ)丁、文檔更新以及已知問題清單等。

·其他需要注意的新聞組包括

+comp.os.realtime-實(shí)時(shí)主題

+comp.arch.bus.vmebus

+comp.arch.embedded

·可以購買技術(shù)支持[!--empirenews.page--]

+通過Tornado中的Support菜單填寫Tornado Support Request表單,并發(fā)送郵件到support@wrs.com。

+在美國,太平洋時(shí)區(qū)早上5點(diǎn)到下午5點(diǎn)之間撥打1-800-USA-4WRS。其他地方請(qǐng)聯(lián)系當(dāng)?shù)氐腤RS辦事處。

·可以通過Wind River Systems主頁http://www.wrs.com訪問WindSurf網(wǎng)站,點(diǎn)擊Customer Support頁面。登錄WindSurf需要注冊(cè)用戶ID和密碼。

1.3 硬件/軟件配置

配置目標(biāo)機(jī)硬件

配置主機(jī)軟件

設(shè)置交叉開發(fā)環(huán)境

執(zhí)行交叉開發(fā)前必須先完成以下操作:

·安裝目標(biāo)機(jī)硬件

·定義主機(jī)環(huán)境變量,配置網(wǎng)絡(luò)軟件

·啟動(dòng)Tornado registry: wtxregd。

+wtxregd管理target servers列表。各種工具通過名字在registry中查找target servers

·指定目標(biāo)機(jī)啟動(dòng)參數(shù)并啟動(dòng)目標(biāo)機(jī)

·配置并加載target server

+每個(gè)target server管理主機(jī)工具與特定目標(biāo)機(jī)之間的交互

·典型的配置為每個(gè)工程有一個(gè)registry程序。

·Tornado的架構(gòu)允許registry、target servers以及Tornado工具運(yùn)行于網(wǎng)絡(luò)上的不同主機(jī)上。

目標(biāo)機(jī)硬件配置

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉