




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、北京瑞斯康達科技有限公司 2009年8月 Tornado集成開發(fā)環(huán)境介紹 工程管理 Target Server 調試 ShellTornado是由美國風河系統(tǒng)公司(Wind River System 公司,WRS)推出的高性能實時操作系統(tǒng)VxWorks的開發(fā)平臺,它包括一套完整的面向嵌入式系統(tǒng)的開發(fā)和調試工具。Tornado是集成了編輯器、編譯器、調試器于一體的高度集成的窗口環(huán)境,給嵌入式系統(tǒng)開發(fā)人員提供了一個不受目標機資源限制的超級開發(fā)和調試環(huán)境。Tornado開發(fā)系統(tǒng)包含三個高度集成的部分:運行在目標機上的高性能、可裁剪的實時操作系統(tǒng)VxWorks;運行在宿主機的強有力的交叉開發(fā)工具和實用
2、程序,可對目標機上的應用程序進行跟蹤和調試;連接宿主機和目標機的多種通訊方式,如:以太網(wǎng),串口線,ICE或ROM仿真器等。Tornado環(huán)境采用主機主機-目標機目標機交叉開發(fā)模型,應用程序在主機的Windows環(huán)境下編譯鏈接生成可執(zhí)行文件,下載到目標機,通過主機上的目標服務器與目標機上的目標代理程序的通信完成對應用程序的調測、分析。 S Su un n HP Windows 95 Windows NT IBM 。 。 。 。 。 。 。 。 HOST LAUNCHER GUI Tornado Plug-ins TARGET SERVER On-line Hypertext WindSh Cro
3、ssWind WindPower Tools WindConfig Browser Third Party and Customer Tools Simulation Environment VxSim TARGET VxWorks/IxWorks/Wisp Scalable Run Time P Po ow we er rP PC C 6 68 8K K C CP PU U3 32 2 C Co ol ld dF Fi ir re e S SP PA AR RC C i i9 96 60 0 x x8 86 6 P Pe en nt ti iu umm A AR RMM MMI IP PS
4、S MMC COOR RE E V V8 8X XX X S ST T2 20 0 S SH H Real-Time Embedded Application RTGL GRAPHICS VxWindows VxVMI VxMP WindNet Networking File System SCSI POSIX Library wind Microkernel BSP Debug Agent 集成的源代碼編輯器 工程管理工具 集成的C和C+編譯器和make工具 調試器(CrossWind):系統(tǒng)和任務級調試工具,可以調試C、C+以及匯編程序。 Shell(WinSh):C語言命令外殼,用于控制
5、目標機。 瀏覽器(Browser):用于收集可視化的資源,監(jiān)視目標系統(tǒng)。 VxSim:集成的VxWorks目標機仿真器。 WindView:集成的軟件邏輯分析儀 Tornado目錄列表WIND_BASE(指向Tornado安裝目錄的環(huán)境變量).wind存放個人定制文件和狀態(tài)信息文件等Docs存放各種幫助文件 b o o k s . h t m l ,To r n a d o _ R e f e r e n c e . h t m l ,VxWorks_Reference_Manaul.html、rtnIndex.htmlHost存放Tornado主機環(huán)境相關文件include存放Tornado
6、 API相關的頭文件resource存放Windows資源文件,如圖標等resourcetcl存放實現(xiàn)用戶界面的TCL文件及各種工具實現(xiàn)Tcl存放TCL相關源代碼x86-win32存放主機工具及各種動態(tài)庫x86-win32libTornado應用支持庫Setup安裝相關目錄(與用戶無關)ShareSrcWDB、WTX、Target Server源代碼,由主機與目標機共享Target存放目標機VxWorks相關文件Setup.log包含安裝信息Tornad手冊列表books.html手冊總入口Tornado_Reference.html分項描述各主機工具,如WindSh、elfToBin等Tor
7、nado_API_Reference.html描述Tornado API,一般用戶不用,按結構層次分類libIndex.html庫參考入口,按庫名分類,包括VxWorks庫和Tornado庫BSP_Reference.htmlBSP 參考VxWorks_Reference_Manual.htmlVxWorks庫手冊,以庫名排序描述,經(jīng)常參考rtnIndex.htmlVxWorks庫手冊,以函數(shù)名排序描述,經(jīng)常參考點擊Windows任務欄上的“開始”按鈕,選擇程序,然后選擇Tornado程序組,點擊其中的Tornado項,即可啟動Tornado運行,第一次啟動Tornado時,創(chuàng)建工程窗口將出現(xiàn)
8、。主窗口的頂部包括5個工具條,可以快速執(zhí)行最常用的Tornado命令;Standard:包括打開、保存、剪切、粘貼和打印等標準功能;Launch;啟動瀏覽器、shell、調試器、仿真器、WindView和觸發(fā); Debug:包括啟動調試、運行函數(shù)、單步執(zhí)行和監(jiān)視的調試器功能;WindView:縮放功能、過濾和數(shù)值分析。Build:構建、編譯當前文件,更新相關性,以及下載。Tornado以工程(project)為單位組織軟件開發(fā),工程中包括源代碼信息、VxWorks配置和編譯配置等。Tornado提供了工作空間(workspace)機制,用于工程的組織和管理。Tornado可以創(chuàng)建多個工作空間,
9、每一個工作空間可以包含多個工程。每個工程又能引用多個源代碼文件,組成層次結構。工作空間主要用在主機上安裝有多個不同版本的Tornado時,每個工作空間可以以Torndao的版本命名。Tornado能創(chuàng)建兩種工程類型:Bootable和Downloadable。前者用于生成VxWorks程序映像,包括基本的操作系統(tǒng)組件,經(jīng)過完全連接,可以獨立運行。后者生成程序模塊目標映像,只是部分連接,不能獨立運行,但這種映像支持動態(tài)加載和連接支持動態(tài)加載和連接,為VxWorks特有,能進行應用代碼的快速開發(fā)和調試,而對系統(tǒng)其他部分不會造成影響。在項目的開發(fā)中,采用創(chuàng)建Downloadable工程來調試自己開發(fā)
10、的應用模塊。 step1:Tornado啟動時或選擇菜單“FileNew Project”命令 選擇工程類型。我們以創(chuàng)建Downloadable工程為例做一介紹。step2:設置工程名稱、目錄、描述和所屬的工作空間。step3:選擇編譯工具鏈,與CPU類型和編譯器相關。工具鏈決定了編譯器、系統(tǒng)庫和目標格式等。工程生成時會自動完成依賴關系,生成相關文件 step4:工程創(chuàng)建完成創(chuàng)建的新工程是一個初始化框架,還沒有文件。只有和用戶自己的應用代碼關聯(lián)后,才能進行實際的項目開發(fā)。添加文件:完成應用代碼的添加后,需要完成編譯配置,才能得到需要的程序映像。編譯配置在“Builds”窗口中進行?!癈/C+
11、compile”和“assembler”選項卡用于設置編譯器和匯編器的命令和選項?!發(fā)inker”選項卡用于設置連接器的命令和選項。“Link Order”選項卡可查看模塊連接的情況,用于更改鏈接次序。 -g映像中是否包含調試信息調試信息,會影響映像的大小-ansi支持標準標準C語法,若想在C中用C+注釋則去掉-D編譯器宏定義,用于代碼條件編譯條件編譯-O指定優(yōu)化優(yōu)化等級,建議-O0(不優(yōu)化)-O2優(yōu)化-fvolatile防止編譯器優(yōu)化防止編譯器優(yōu)化volatile變量相關的代碼-I包含頭文件目錄頭文件目錄,需自己添加-IC:/Tornado2.2/target/h-Wall報告所有告警告警-
12、P預處理器不產(chǎn)生“l(fā)ine”指令l “Rules”選項卡用于設置生成的映像的類型?!癕acros”選項卡用于定義編譯宏。在build成功完成以后,在某一個.o文件上單擊右鍵,選擇“Download 文件.o”能夠實現(xiàn)模塊的動態(tài)下載。 Target Server在主機上運行并管理主機工具(如shell、調試器和瀏覽器)以及目標機系統(tǒng)本身之間的通信。 Target Server 包含主機駐留目標機符號表和向正在運行的目標機系統(tǒng)中插入應用模塊的目標模塊裝載器。 Target Server和目標機系統(tǒng)通過目標機代理Target Agent(WDB Agent)通信,該Agent以任務任務的形式運行在目
13、標機上。Tornado工具向Target Server 發(fā)送請求,根據(jù)請求類型,有的請求由Target Server自己處理,有的轉發(fā)給Target Agent處理。為了與Target Agent通信,Target Server使用一個通信后端,該后端與Target Agent配置為相同的通信協(xié)議和傳輸層。 Target Server必須在任何工具能與Target Agent通信之前配置并啟動。在配置和啟動之前,確定主機和目標機已經(jīng)適當?shù)剡B接。通過選擇菜單“Tools-Target Server”即出現(xiàn)配置對話框 :在該對話框中可以創(chuàng)建、復制和刪除Target Server配置;描述為該配置的
14、標識,描述下的選項用于將該描述添加到菜單上,方便以后的操作;Target Server為目標服務器的IP地址Target Name/IP為Target Agent的目標機IP地址 授權和訪問限制【Authorizations】 用于限制用戶訪問以增加系統(tǒng)的網(wǎng)絡安全性,授權配置如圖所示。如果選擇“Lock on Startup”,則只有啟動Target Server的用戶的進程才可以訪問該Target Server,如果沒有選擇“Lock”項,則缺省查找“$WIND_BASE/.WIND/userlock”文件來獲得授權用戶ID;若沒有該文件,則無訪問限制。也可以自己設置指定“User ID f
15、ile”。我們一般不對該項進行設置,也就是設置成無訪問限制。通信后端【Back End】根據(jù)不同的目標機,可以選擇不同的Target Server通信后端與目標機的Agent通信。其中wdbrpc用于網(wǎng)絡連接;wdbserial用于串行通道連接;wdbpile用于Visxim仿真目標機連接 ;netrom用于一專有的通訊協(xié)議;loopback用于測試;選擇的后端類型與Agent中選擇的WDB connection類型一致才能建立主機與目標機之間的WDB連接。各后端的動態(tài)庫位于“hostx86-win32libbackend”目錄下。 wdbrpc是最常使用的一種:“Timeout”參數(shù)用于設置
16、連接斷開的確認時間,缺省為1秒,當連接超時時會進行連接重試,最大重試次數(shù)由“Re-try”確定,缺省為3次。核心文件和符號表【Core File and Symbols】Target Server依賴主機上存放的VxWorks映像文件映像文件來完成調試工作,我們需要指定映像核文件的存放路徑。Target Server在主機上為目標機VxWorks映像維護了一張符號表符號表,該表根據(jù)核心文件建立,從文件中提取符號名稱和內存地址,用于加載其他模塊時進行引用符號解析。默認情況下選擇“Global Symbol”,只有核文件中的全局符號加入到主機符號表中。若選擇“All Symbol”全局和局部符號都
17、加入符號表中?!癗o Symbol”不建立主機符號表。另外為了實現(xiàn)在動態(tài)加載時主機和目標機上符號表的一致性,選擇“Synchronize Target/Host Symbol Table”選項。 為了避免目標機進行過多的數(shù)據(jù)傳輸處理,Target Server維持在主機系統(tǒng)上有一塊快速存儲區(qū)(快速存儲區(qū)(Cache)。該內存區(qū)主要由主機加載目標模塊時使用。缺省情況下為1M,為了提高主機工具訪問該內存的效率,可指定其大小。 其他選項:目標服務器文件系統(tǒng)、控制臺和重定向、日志、雜項和目標機存儲池這里暫不做介紹,在實際使用中幾乎不用進行配置。在進行上述的配置后點擊圖中的“Launch”按鈕啟動Tar
18、get Server。 當目標服務器已經(jīng)啟動時,目標服務器圖標在Windows任務欄中顯示。對于圖標的上下文菜單提供對于顯示LogConsole窗口、顯示關于目標機信息和關閉目標機服務器的選項。 Tornado支持系統(tǒng)級調試和任務級調試支持系統(tǒng)級調試和任務級調試 系統(tǒng)級調試系統(tǒng)級調試可以在多個任務中切換,甚至在系統(tǒng)例程中檢查運行,其主要用于中斷代碼中斷代碼的調試,也可以用于任務代碼的調試。在此模式下,可以使用全局斷點來停止整個系統(tǒng),只要有任何任務遇到此斷點。 任務級調試任務級調試可以調試任務上下文中的代碼,調試只對單個任務運行,不會對系統(tǒng)造成影響。默認情況下,Tornado一次只可以調試一個任
19、務??梢酝ㄟ^使用run對話框建立一個新任務,或者通過Attach對話框調試一個已存在的任務,以選擇任務。當綁定一個任務時,其命令只影響此任務。當任務遇到斷點時,只停止此任務,整個系統(tǒng)并不停止。啟動:從Tornado Launch工具欄:按 按鈕,或從Tools菜單:單擊Debugger,啟動調試器;當調試器運行時,可以通過編輯窗口、命令行窗口、debug菜單及工具條進行調試;停止:在調試工具條中,按 按鈕或單擊Debug菜單中的Stop Debugging命令,停止調試過程;Debug工具條上面有調試命令的按鈕,以及顯示輔助調試器窗口的按鈕。調試按鈕和命令 Default breakpoint
20、s(任務斷點):停在綁定的任務,或在系統(tǒng)級調試時停止整個系統(tǒng); Global breakpoints(全局斷點):全局斷點和任務上下文無關,只和調試代碼有關,任何任務運行該代碼到斷點,都會掛起該任務等待調試。而任務斷點除了和代碼相關外,也和運行該代碼的任務上下文相關。只有被Attach的任務運行到該段代碼斷點才會有意義。 Temporary breakpoints(臨時斷點):只有效一次,然后刪除( default )或禁止掉(disabled)當代碼運行到斷點處時,可以單步跟蹤,通過使用附屬窗口,來檢查局部和全局的程序變量、參數(shù)、寄存器、目標機存儲器和堆棧情況。Watch窗口可以查看和修改全
21、局符號全局符號,包括變量、數(shù)組、函數(shù)名等。在源代碼窗口可以直接選擇符號名加入Watch窗口,也可以先激活“Add to Watch”對話框,再手工輸入符號名加入到Watch窗口。特別是對大數(shù)組的查看,數(shù)據(jù)量過大會導致Tornado運行很慢,最好手動輸入分項查看。 Variables窗口可以查看和修改當前例程的局部變量,當單步執(zhí)行不同的例程時,新的例程的局部變量就取代了先前顯示的局部變量。Registers窗口可以查看和修改 CPU寄存器寄存器的數(shù)值。Memory窗口顯示從Start Address控制字段指定的地址開始的一個范圍的目標機存儲器。Variables窗口 Registers窗口 M
22、emory窗口Back Trace窗口可查看的函數(shù)調用軌跡,最下層為根函數(shù),一般為任務入口函數(shù);最上層為斷點設置函數(shù)。窗口顯示函數(shù)的地址、入口參數(shù)和所處的文件等??梢栽诖翱谥腥魏卫躺想p擊,以將上下文指針移至編輯窗口中的那個堆棧級,可查看相應的源代碼。工程生成的目標文件和部分連接的out文件,可以通過調試器下載到運行VxWorks的目標機中,完成局部代碼的開發(fā)調試工作。下載的目標模塊代碼不能自動運行,需要通過運行系統(tǒng)中的代碼和調試器來啟動其運行的上下文。在調試器中,可通過菜單“Debug-Run”命令來運行調試代碼函數(shù),如果不需要提供參數(shù),其默認值為零。 Shell(WindSh)是Vxwor
23、ks的一種命令行用戶接口,在shell下允許調用任何VxWorks例程,提供對全部VxWorks工具的訪問;也可以用作應用程序開發(fā)者的一個原形和調試工具,通過調用任何一個應用程序例程來交互地運行應用程序模塊。Shell的操作包括Tornado系統(tǒng)的三個組件:1、Shell接收命令并在本地主機上執(zhí)行,為任何操作向目標服務器發(fā)出請求,包括符號表或者目標機駐留程序或者數(shù)據(jù)2、目標服務器管理符號表,并處理與遠程目標的所有通訊,發(fā)出函數(shù)調用并在需要時發(fā)送回結果。3、目標機代理是在目標機上運行的唯一一個組件??蛇x擇菜單“Tools-Shell”命令啟動或按鈕“l(fā)aunch shell” 啟動 :在Shel
24、l窗口執(zhí)行exit、quit或退出Shell 。如果Shell和Target Server連接中斷時,Shell停止響應輸入時,可用中斷按鍵強制退出。 Shell提供了一些內部命令,被構建在主機Shell內部,不需要在目標上調用的函數(shù),而與目標機上一些函數(shù)功能類似,通過使用主機命令直接在主機上執(zhí)行,以減少對目標機性能的影響。 調用說明sp()發(fā)起一個具有默認值的任務sps()發(fā)起一個任務,但使它處于掛起狀態(tài)tr()繼續(xù)一個掛起的任務ts()掛起一個任務td()刪除一個任務i ()顯示任務TCB概要信息ti()顯示任務的詳細TCB信息w()顯示關于每個任務的特定信息的概要tt()顯示任務的堆棧記
25、錄checkStack() 查看各個任務的堆棧使用概要taskIdFigure()給出一個任務的名字,報告該任務的IDdevs顯示設備列表lkup “substr”從符號表中查找符號d adr,nunits,width顯示內存,可以指定地址、數(shù)目和寬度l adr, n反匯編和顯示指定數(shù)目的指令printError描述最新的錯誤狀態(tài)值version顯示vxworks的版本信息cd改變主機工作目錄ls列出主機工作目錄下的文件pwd顯示當前的主機工作目錄help顯示主機命令幫助列表h顯示主機命令歷史記錄ShellHistory設置或者顯示Shell歷史記錄信息ShellPromptSet改變C解釋程
26、序Shell提示printLogo顯示Shell徽標ld裝載一個目標模塊到目標機存儲區(qū),并動態(tài)鏈接它進入運行狀態(tài)unld從目標機存儲區(qū)刪除一個動態(tài)鏈接的目標模塊,并釋放它占有的存儲區(qū)m adr,width修改大小為width的存儲區(qū),起始于adrmRegs為特定的任務修改寄存器值s單步執(zhí)行一個程序到下一條指令so單步執(zhí)行,但跨過子程序c從一個斷點繼續(xù)b在一個特定的任務中或者在所有任務中,設置或者顯示斷點bd刪除一個斷點bdall刪除所有的斷點reboot復位目標服務器并重新綁定Shellquit or exit推出Shell- x = (8 * 6) / 4x = 0 x1bbc20: val
27、ue = 12 = 0 xc- Name = Nelsonnew symbol Name added to symbol table.Name = 0 x1bbc00: value = 1817616 = 0 x1bbc10 = Name + 0 x10- printf (Hello %s, number is %d.n, Name, 0 x20)Hello Nelson, number is 32.value = 28 = 0 x1c- &xvalue = 1817632 = 0 x1bbc20 = x當Shell命令的名字與目標列程有相同的名字時,又需要調用此列程,使用單字符前綴來標識目標
28、機例程。- i NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY- - - - - - - - -tExcTask excTask 3efc80 0 PEND 1805b0 3efb60 0 0tLogTask logTask 3ed298 0 PEND 1805b0 3ed188 0 0tWdbTask wdbTask 360198 3 READY 177908 360068 0 0tNetTask netTask 3af248 50 READY 17775c 3af018 0 0value = 0 = 0 x0- ii = 0 x1bbbd0: value = 10 = 0 xa Tornado除了提供CrossWind、WindSh等基本調試工具外,還提供一些如Browser、VxSim和WindView等輔助調試工具。 Browser 可以方便的監(jiān)視目標機狀態(tài)。使用瀏覽器可以檢查下列內容:詳細的任務信息信號量消息隊列存儲器分區(qū)看門狗定時器目標機上的堆棧使用情況任務使用目標機的CPU目標模塊結構和符號中斷向量從Tornado Launch工具條單擊 按鈕,啟動瀏覽器。Browser
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介押金合同范本
- 2025年漳州貨運準駕證模擬考試
- 醫(yī)院器械采購合同范本
- 加工類協(xié)議合同范本
- 辦公窗簾購銷合同范本
- 村級采購合同范本
- 代銷鋪貨合同范本
- 買賣合同和貨運合同范本
- 專利轉讓英文合同范例
- 北京不備案施工合同范本
- 專題13《竹里館》課件(共28張ppt)
- 團意操作流程詳解課件
- SH/T 0356-1996燃料油
- GB/T 9846.4-2004膠合板第4部分:普通膠合板外觀分等技術條件
- GB/T 17836-1999通用航空機場設備設施
- GB/T 13012-2008軟磁材料直流磁性能的測量方法
- 2023年全國高中生物聯(lián)賽競賽試題和答案
- 第1課中華優(yōu)秀傳統(tǒng)文化的內涵與特點課件(共28張PPT)
- 小學語文中高學段單元整體教學的實踐研究課題中期報告
- 《木蘭詩》第二課時(公開課)課件
- 核電項目人橋吊車抗震計算書版
評論
0/150
提交評論