版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、說明:由于開發(fā)經(jīng)驗(yàn)和英語水平有限,在本文檔中肯定存在偏差和謬誤。在有疑問的地方,請(qǐng)以風(fēng)河的官方文檔為準(zhǔn)。歡迎聯(lián)系,指正錯(cuò)誤。qq:1039309823。風(fēng)河woorkbench3.0/vxworks6.6使用說明 第一章 風(fēng)河workbench3.0介紹一、風(fēng)河workbench3.0的特征風(fēng)河workbench3.0是基于eclipse平臺(tái)發(fā)展出的開發(fā)工具,提供非常有效的方式去開發(fā)實(shí)時(shí)嵌入式的應(yīng)用程序,而不必過多的依賴于目標(biāo)系統(tǒng)。風(fēng)河workbench可運(yùn)行在 windows 、linux、和 solaris主機(jī)上。而本文檔只介紹在windows主機(jī)上使用workbench3.0 。 wor
2、kbench提供了: * 開發(fā)過程的每一階段都具有最佳性能,包括硬件生成、固件開發(fā)、應(yīng)用軟件開發(fā)和測試 。* 強(qiáng)大的功能目標(biāo)基于設(shè)備軟件開發(fā)過程和測試過程的主要挑戰(zhàn) 。* 支持跨項(xiàng)目標(biāo)準(zhǔn)化的廣泛實(shí)用性 。- 多目標(biāo)操作系統(tǒng)支持,包括對(duì)vxworks6.x、linux 以及 threadx 的支持 。- 目標(biāo)機(jī)處理器支持 arm、coldfire 、ia/pentium 、mips、powerpc 、sh以及xscale處理器 。- 插件架構(gòu),可添加其它目標(biāo)機(jī)操作系統(tǒng)、目標(biāo)機(jī)處理器以及目標(biāo)機(jī)連接支持 。* 基于eclipse 的可擴(kuò)展框架能夠?yàn)榭刹眉粜院屯耆脩艋鵁o縫集成第三方和專用內(nèi)部插件。
3、二、風(fēng)河workbench 3.0的應(yīng)用程序組件 * eclipse 框架 * 項(xiàng)目系統(tǒng) * 編譯系統(tǒng) * 編輯器 * 源代碼分析器 * 風(fēng)河編譯器 - 風(fēng)河編譯器(適合于和其它目標(biāo)機(jī)操作系統(tǒng)) - 風(fēng)河gnu 編譯器(適合于vxworks 和風(fēng)河linux 平臺(tái)) * 風(fēng)河調(diào)試器* 風(fēng)河開發(fā)環(huán)境實(shí)用程序 * 風(fēng)河shell環(huán)境 * 用于數(shù)據(jù)分析的 stethoscope * 用于內(nèi)存分析的 memscope * 用于性能分析的 profilescope * 用于代碼覆蓋分析的 coveragescope * 用于代碼流程分析的 tracescope * 用于系統(tǒng)事件可視化的風(fēng)河系統(tǒng)查看器 *
4、 用于單元和集成測試的workbench unit tester * 用于動(dòng)態(tài)調(diào)試和診斷分析的workbench diagnostics * 風(fēng)河芯片級(jí)調(diào)試器 - 風(fēng)河ice - 風(fēng)河probe - 風(fēng)河trace 3、 基于eclipse的概念wind river workbench 是基于eclipse平臺(tái)的一種工業(yè)標(biāo)準(zhǔn)的集成來發(fā)環(huán)境。2008年eclipse開源大會(huì)上,wind river workbench榮獲eclipse基金會(huì)(eclipse foundation)評(píng)選的“最佳商用eclipse開發(fā)工具”大獎(jiǎng)。eclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)
5、提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由eclipse項(xiàng)目、eclipse工具項(xiàng)目和eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成eclipse platform、jdt、cdt和pde。jdt支持java開發(fā)、cdt支持c開發(fā)、pde用來支持插件開發(fā),eclipse platform則是一個(gè)開放的可擴(kuò)展ide,提供了一個(gè)通用的開發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。eclipse platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。wind river workbench3.0剛啟
6、動(dòng)時(shí)的界面如圖:1.窗口( window)在這里指的是集成開發(fā)環(huán)境的桌面。也可以選擇window new window同時(shí)打開多個(gè)窗口,每個(gè)窗口都可以包含一個(gè)或者多個(gè)透視圖( perspectives)。2.工作空間(workspace)workbench使用一個(gè)workspace保存當(dāng)前使用者的工作環(huán)境,包括一系列的打開的工作項(xiàng)目(projects)的大小和位置的視圖。workspace包含的信息包括:最近一段時(shí)間最后使用的workbench時(shí)的工程(projects)的種類和位置視圖,當(dāng)前的工程,設(shè)置的斷點(diǎn)。3. workspace的目錄默認(rèn)的目錄在installdirworkspace,
7、當(dāng)然如果必要的話,也可以在建工程時(shí)設(shè)置在其他地方。如果想同時(shí)運(yùn)行一個(gè)或者多個(gè)復(fù)制的workbench時(shí),必須是每一個(gè)擁有獨(dú)立的工作空間(workspace)。4. 包含多于一個(gè)的工作空間(workspace)如果需要運(yùn)行兩個(gè)獨(dú)立(independent copies)的workbench保證各自的工程(projects)和文件(files)互不關(guān)聯(lián)。這事就需要建立另一個(gè)工作空間(workspace)。步驟如下:(1)、啟動(dòng)workbench3.0。(2)、選擇 file switch workspace 打開“select a workspace”對(duì)話框。(3)、選擇你想要設(shè)置新的工做空間的目
8、錄,選擇“make new folder”并輸入新的工作空間的名稱,點(diǎn)擊“ok”,完成操作。備注:如果兩個(gè)工作空間(workspace)在同一個(gè)目錄下,必須保證兩個(gè)工作空間(workspace)有不同的名稱; 如果兩個(gè)工作空間(workspace)在不同的目錄下,則兩個(gè)工作空間(workspace)可以有相同的名稱。5. 透視圖(perspectives)在編輯區(qū)(editor area)可以存在一組透視圖以及一個(gè)或者多個(gè)視圖(views)以便于在執(zhí)行一個(gè)特殊任務(wù)(particular task)時(shí)使用。打開一個(gè)新的的類型的透視圖:選擇window open perspective other
9、如圖所示:或者在工作空間(workspace)的右上角,在重疊的窗口處選擇一個(gè)要打開的窗口,如下圖所示:同時(shí),可以把當(dāng)前的透視圖保存為想要的種類和名稱:選擇window save perspective as 選擇一個(gè)種類并輸入想要的名稱,點(diǎn)擊“ok”,完成操作。或者相對(duì)當(dāng)前的透視圖做更進(jìn)一步的配置:window customize perspective,然后進(jìn)行相應(yīng)的設(shè)置,保存設(shè)置。又或者想要對(duì)當(dāng)前的透視圖回復(fù)為默認(rèn)配置:選擇window reset perspective。6. 視圖(views)視圖存在于透視圖(perspectives)之下,可以排列、操作、或者用于workbench
10、的導(dǎo)航信息。打開視圖的方法:選擇window show view, 選擇一個(gè)要打開的視圖類型 ;或者選擇other,打開更多的可供選擇的類型。如下圖所示:說明:同一時(shí)間只有一個(gè)視圖是活動(dòng)的,視圖標(biāo)題欄(title bar)高亮度顯示;可以對(duì)視圖拖動(dòng)、最大化、最小化,改變視圖在透視圖(perspectives)中的位置和大小。7. 編輯器(editors)編輯器是一種特殊類型的視圖用作編輯文件??梢詾椴煌愋偷奈募P(guān)聯(lián)不同類種類的編輯器,比如c、c+、匯編、makefile,當(dāng)打開文件,所關(guān)聯(lián)的編輯器就會(huì)在透視圖(perspectives)的編輯區(qū)域打開。8. 工程( projects)work
11、bench利用工程( projects)就像邏輯容器和積木塊它們能夠連接在一起創(chuàng)建一個(gè)軟件系統(tǒng)。工程( projects)窗口可以直觀地組織工程結(jié)構(gòu)反映在內(nèi)部的依賴關(guān)系上,以及編譯和鏈接的次序。9. 訪問和查找workbench上下文關(guān)聯(lián)的幫助信息可以使用快捷鍵,就可以訪問上下文關(guān)聯(lián)的workbench下的用戶界面的更多信息。windows使用f1,linux 和 solaris 使用ctrl+f1,就可以打開一個(gè)幫助界面包含對(duì)當(dāng)前界面的一個(gè)主要描述并且鏈接在其他文檔中有同樣主題的更多的相關(guān)信息。也可以通過在打開的workbench系統(tǒng)的菜單欄選擇helphelp contents wind
12、river documentation ,查找相關(guān)的幫助信息。更多關(guān)于eclipse的信息,選擇 help help contents wind riverpartner documentation eclipse platform documentation ,或者訪問eclipse的網(wǎng)站 。1、 在文檔中查找?guī)椭畔ⅲ?)、按照9中的步驟打開 workbench自帶的幫助窗口。(2)、在“ search”欄輸入關(guān)鍵詞或者詞組,點(diǎn)擊“go 查找。(3)、在幫助窗口就是搜索的同一個(gè)主題的幫助信息,點(diǎn)擊其中一個(gè)進(jìn)入包含此主題的文檔。在搜索的主題之前加上適當(dāng)?shù)南拗圃~語
13、可以簡化搜索的結(jié)果。四、理解cross-development(交叉開發(fā))的概念交叉開發(fā)就在一個(gè)系統(tǒng)上寫程序代碼,比如hast(主機(jī)系統(tǒng):linux, windows, solaris);而最終運(yùn)行在另一個(gè)系統(tǒng),比如target(目標(biāo)系統(tǒng):比如移動(dòng)電話的某個(gè)芯片)。交叉開發(fā)的硬件環(huán)境一個(gè)典型的主機(jī)系統(tǒng)需要足夠大小的ram、磁盤空間、備份媒介、打印輸出和其他外圍設(shè)備。而相對(duì)的,一個(gè)典型的目標(biāo)系統(tǒng)所需的資源用于實(shí)時(shí)的應(yīng)用(real-time appl ication)和一些的附加資源用于測試(testing)和調(diào)試(debugging)。在主機(jī)上的工作如果你在主機(jī)系統(tǒng)編寫代碼,那么就需要進(jìn)行以下工
14、作:管理工程文件;編輯、編譯、鏈接,保存你自己的各種格式的實(shí)時(shí)代碼,并且配置操作系統(tǒng)以便于最終能夠在目標(biāo)系統(tǒng)上運(yùn)行這些代碼。連接目標(biāo)系統(tǒng)到主機(jī)有很多可供選擇的方案用于連接目標(biāo)系統(tǒng)到主機(jī),比如:通過網(wǎng)絡(luò)、串口、或者jtag.運(yùn)行應(yīng)用程序運(yùn)行期間(run-time)的代碼代表著最終的應(yīng)用,其中包括:內(nèi)核、開發(fā)者自己的具有特殊功用的代碼,和選擇調(diào)用的與庫文件有關(guān)的代碼。 運(yùn)行期間的代碼并不一定屬于目標(biāo)代理(target agent),即使在一個(gè)典型的開發(fā)和調(diào)試中包含它。 操作系統(tǒng)平臺(tái)(workbench)允許你避開那些繁瑣的程序在你做一點(diǎn)改動(dòng)之后必須整個(gè)重新下載的運(yùn)行代碼,能夠單獨(dú)下載和運(yùn)行開發(fā)的應(yīng)
15、用模塊。如果目標(biāo)系統(tǒng)的硬件尚未完成,甚至可以把一個(gè)用用模塊運(yùn)行在一個(gè)目標(biāo)模擬器(target simulator)上,或者使用風(fēng)河操作系統(tǒng)平臺(tái)的模擬器(wind river vxworks simulator)。5. 使用wind river workbench的好處使用wind river workbench能夠確保在開發(fā)過程中、開發(fā)完成后與實(shí)際運(yùn)行在目標(biāo)系統(tǒng)之間出現(xiàn)最小限度的差異,并且保留絕大多數(shù)的開發(fā)工具在主機(jī)(host)上。一個(gè)很重要的優(yōu)點(diǎn)就是在使用wind river workbench 時(shí)不需要全部連接應(yīng)用程序.如果只有部分代碼完成就可以經(jīng)行漸進(jìn)式的測試和調(diào)試;應(yīng)用模塊也不需要連接
16、到運(yùn)行期間的系統(tǒng)庫 (run-time system libraries)。駐留在主機(jī)上的外殼和調(diào)試器(shell and debugger)可以交互用于援引和測試單獨(dú)的應(yīng)用程序或者是完整的任務(wù)(tasks)。workbench可以直接下載動(dòng)態(tài)的目標(biāo)模塊,并且在主機(jī)(host)上為目標(biāo)(target)保留一張完整的符號(hào)表(symbol table)。這張符號(hào)表是可增長的:目標(biāo)服務(wù)器( target server )包含的所下載模塊的符號(hào)??勺隹勺円驍?shù)測試,調(diào)用子程序,創(chuàng)建任務(wù),在存儲(chǔ)器上分借代碼,設(shè)置斷點(diǎn),跟蹤子程序調(diào)用,等等;以上所有操作都是使用原始的符號(hào)名稱。wind river work
17、bench縮短了開發(fā)計(jì)劃和實(shí)際產(chǎn)品之間的之間周期,它允許快速下載逐漸增長的運(yùn)行代碼并且動(dòng)態(tài)連接到操作系統(tǒng)。使得應(yīng)用程序的符號(hào)交互和測試得到最小程度的延遲。平臺(tái)的調(diào)試器(workbench debugger)可以查看和調(diào)試應(yīng)用程序代碼,設(shè)置斷點(diǎn)、單步運(yùn)行、測試數(shù)據(jù)結(jié)構(gòu)等等操作都可以在資源水平(source level)進(jìn)行,而且使用便捷的圖形化界面。workbench的“七多”優(yōu)勢workbench 平臺(tái)的廣泛適用性主要體現(xiàn)在七“多”上,即多任務(wù)、多目標(biāo)、多模式、多os、多cpu 、多連接形式、多主機(jī)環(huán)境。 多任務(wù):在workbench 調(diào)試環(huán)境下,可以同時(shí)連接目標(biāo)系統(tǒng)上的多個(gè)不同的任務(wù)(或者進(jìn)
18、程),每個(gè)任務(wù)都可以單獨(dú)設(shè)置斷點(diǎn),進(jìn)行單步調(diào)試。開發(fā)者再也不用象以前那樣,為了調(diào)試多個(gè)任務(wù),先斷開一個(gè)任務(wù)的連接,再連接到另外一個(gè)任務(wù)上去。這就給具有多任務(wù)的目標(biāo)系統(tǒng)開發(fā)提供了便利,尤其是需要查看多個(gè)任務(wù)之間的配合關(guān)系時(shí)體現(xiàn)的優(yōu)勢更加明顯; 多cpu :我們知道,風(fēng)河公司的tornado 開發(fā)環(huán)境可以說已經(jīng)支持了全系列的主流 cpu(或處理器),而workbench也將繼承這個(gè)傳統(tǒng),目前推出的 workbench 2.2版本已經(jīng)可以支持pentium、ppc 、mips系列的所有主流cpu 。對(duì) arm、xscale 、sh等系列的支持正在移植和測試中,不久即將發(fā)布正式版本(workbench
19、 2.3) 。 多os:目前的workbench 2.2 不僅支持vxworks嵌入式操作系統(tǒng)(6.0 以上版本),而且支持linux 操作系統(tǒng),這確實(shí)給廣大的linux 嵌入式開發(fā)人員帶來了福音。大家知道,由于linux 操作系統(tǒng)的“免費(fèi)”性質(zhì),使得其上的軟件開發(fā)系統(tǒng)一直比較分散和孤立,用起來不是特別方便,有了work ben ch 以后,嵌入式linux 的開發(fā)就同vxworks的開發(fā)一樣方便和快捷了。并且以后,如果有必要的話,還可以增加對(duì)其它類型嵌入式操作系統(tǒng)的支持,因?yàn)閣orkbench 本身是開放和可擴(kuò)展的。 多目標(biāo):workbench對(duì)復(fù)雜目標(biāo)系統(tǒng)的強(qiáng)有力的支持還表現(xiàn)在它可以支持同
20、時(shí)連接多塊目標(biāo)板進(jìn)行調(diào)試開發(fā),更為可貴的是這些目標(biāo)板上處理器可以各不相同,并且在目標(biāo)板上運(yùn)行的操作系統(tǒng)也可任意(既可以運(yùn)行vxworks,也可以運(yùn)行l(wèi)inux),而調(diào)試工作都可以在同一個(gè)workbench 界面中同時(shí)進(jìn)行,這無疑給一些復(fù)雜系統(tǒng)的調(diào)試帶來了極大的便利。 多連接:所謂多連接,是指workbench 所在的主機(jī)和目標(biāo)機(jī)之間可以有多種連接方式進(jìn)行通訊,如果目標(biāo)系統(tǒng)中存在以太網(wǎng)接口,那就應(yīng)該首選以太網(wǎng)連接,因?yàn)檫@種方式速度比較快;如果目標(biāo)系統(tǒng)中不存在以太網(wǎng)接口,那也可以選用串行口進(jìn)行通訊連接,除了速度較慢以外,功能上與以太網(wǎng)連接沒有什么區(qū)別。另外,在目標(biāo)板初始調(diào)試階段,還可通過風(fēng)河的硬件
21、仿真器(windriver ice / windriver probe) 進(jìn)行連接,觀察硬件狀態(tài),以迅速定位硬件問題。 多模式:在workbench中調(diào)試程序,即可以采用任務(wù)模式,也可以采用系統(tǒng)模式。所謂任務(wù)模式,是指各個(gè)任務(wù)之間獨(dú)立運(yùn)行,暫停其中一個(gè)任務(wù)的運(yùn)行不影響其他任務(wù)的運(yùn)行( 主要用于調(diào)試各個(gè)任務(wù)) ;而系統(tǒng)模式則是指只要暫停了系統(tǒng)的任何一處,整個(gè)系統(tǒng)都停止下來(主要用于調(diào)試中斷程序)。 多主機(jī):這是指workbench可以在windows、linux、solaris 這三大流行的主機(jī)操作系統(tǒng)下運(yùn)行,這不僅可以適合不同開發(fā)者的使用習(xí)慣,而且在一定程度上有利于某些目標(biāo)系統(tǒng)的開發(fā),如使用l
22、inux 主機(jī)環(huán)境調(diào)試運(yùn)行 linux 系統(tǒng)的目標(biāo)板(但這并不是必須的)。 豐富易用的調(diào)試手段,大大加快調(diào)試進(jìn)度 動(dòng)態(tài)鏈接:用過 tornado 開發(fā)環(huán)境的人都對(duì)其獨(dú)特的分模塊單獨(dú)下載、動(dòng)態(tài)鏈接到目標(biāo)系統(tǒng)的功能深有體會(huì),而workbench 也完全繼承了這個(gè)特性。有了這個(gè)功能,就使開發(fā)者不必將所有應(yīng)用模塊都編寫完成再進(jìn)行調(diào)試,也不用每次將應(yīng)用模塊和操作系統(tǒng)編譯到一起然后下載調(diào)試,而是編好一個(gè)小模塊,如果想進(jìn)行驗(yàn)證,只需將這個(gè)小模塊( 哪怕只是一個(gè)函數(shù)) 編譯然后下載到目標(biāo)板中就行了,這大大加快了調(diào)試驗(yàn)證的速度,尤其是在目標(biāo)板和主機(jī)之間是低速連接的情況下更能體現(xiàn)出其優(yōu)勢所在。 目標(biāo)可視:對(duì)目標(biāo)系
23、統(tǒng)的可視化是每一個(gè)嵌入式軟件開發(fā)人員都希望得到的功能,為達(dá)到這一目的,workbench 除了提供一般的查看內(nèi)存,積存器、變量、調(diào)用樹等的傳統(tǒng)視圖工具外,還提供了幾種增強(qiáng)的系統(tǒng)查看工具:目標(biāo)瀏覽器、系統(tǒng)觀察器和scopetools 工具集。目標(biāo)瀏覽器可以用來查看目標(biāo)系統(tǒng)每一個(gè)系統(tǒng)資源的使用情況和當(dāng)前狀態(tài),包括系統(tǒng)各個(gè)模塊、任務(wù)、信號(hào)量、消息隊(duì)列、內(nèi)存、堆棧等。系統(tǒng)觀察器可對(duì)系統(tǒng)事件提供詳細(xì)的分析和圖形化的可視效果,同時(shí)還可展示在目標(biāo)機(jī)上執(zhí)行的應(yīng)用程序的相關(guān)任務(wù)、中斷以及系統(tǒng)對(duì)象之間復(fù)雜的交互作用。它能夠清楚地顯示上下文變化以及信號(hào)量、消息隊(duì)列、信號(hào)、任務(wù)、用戶事件和記時(shí)器一類的系統(tǒng)事件,就象一
24、個(gè)軟件的“示波器”。應(yīng)用這些系統(tǒng)查看工具,開發(fā)人員可以很容易地去診斷和解決嵌入式系統(tǒng)中存在的調(diào)度問題( 如死鎖,饑餓和競爭) ,性能問題(如優(yōu)先級(jí)設(shè)置,資源的競爭與互斥),定時(shí)問題等。而 rti scopetools則是專門為設(shè)備類軟件開發(fā)提供的一組強(qiáng)大的可視化工具集,用戶可以動(dòng)態(tài)觀察整個(gè)系統(tǒng)平臺(tái),包括應(yīng)用代碼、第三方的庫,甚至操作系統(tǒng)本身。workbench 2.2中集成進(jìn)來了用于觀察函數(shù)執(zhí)行效率的profilescope 工具,用于觀察內(nèi)存使用效率和檢測內(nèi)存泄露的memscope工具,和用于檢測變量或指定內(nèi)存位置處數(shù)值的動(dòng)態(tài)變化情況的stethoscope 工具。另外,還有可選的用于實(shí)時(shí)跟
25、蹤代碼執(zhí)行情況的 tracescope工具和用于檢測代碼執(zhí)行覆蓋率的coveragescope工具。 仿真環(huán)境:在目標(biāo)系統(tǒng)的硬件開發(fā)完成之前,往往軟件系統(tǒng)的開發(fā)也要同步進(jìn)行,workbench提供的模擬仿真環(huán)境(只適用于針對(duì)vxworks 操作系統(tǒng)的應(yīng)用軟件開發(fā))就提供了這種同步開發(fā)的途徑。vxworks 軟件仿真器運(yùn)行于主機(jī)操作系統(tǒng)環(huán)境中,是一種從vxworks6.0操作系統(tǒng)移植過來的本地應(yīng)用程序,它能夠精確地實(shí)施vxworks 6.0的高級(jí)復(fù)雜特性,包括實(shí)時(shí)進(jìn)程、內(nèi)存保護(hù)等,它還具有完整的文件系統(tǒng)和網(wǎng)絡(luò)功能,并能調(diào)用主機(jī)系統(tǒng)api。這些特性使得在 vxworks 軟件仿真器中開發(fā)復(fù)雜的系統(tǒng)
26、成為可能。例如,在 vxworks 軟件仿真器中可以組建多個(gè)網(wǎng)絡(luò),這些網(wǎng)絡(luò)不但互相之間可以通訊,還可以通過主機(jī)系統(tǒng)的網(wǎng)口與外界相連,實(shí)現(xiàn)一個(gè)完全真實(shí)的網(wǎng)絡(luò)環(huán)境;再例如,可以利用主機(jī)系統(tǒng)的顯示屏幕來開發(fā)具有圖形用戶界面的應(yīng)用程序,這是通過調(diào)用主機(jī)系統(tǒng)與圖形相關(guān)的api 來實(shí)現(xiàn)的。一般來說,用戶可以為主機(jī)系統(tǒng)的任何資源編寫api,而在 vxworks 軟件仿真環(huán)境中進(jìn)行調(diào)用,這極大地?cái)U(kuò)展了vxworks 軟件仿真器的功能,也更便于應(yīng)用軟件的同步開發(fā)。 除了以上所提到的需要特別強(qiáng)調(diào)的功能外,workbench的強(qiáng)大調(diào)試功能還表現(xiàn)在支持各種類型的斷點(diǎn)設(shè)置、方便靈活的操作系統(tǒng)內(nèi)核配置工具,具有主機(jī) sh
27、ell和目標(biāo)機(jī) shell,具有 4種命令解釋器,以及豐富的視圖界面等等,詳細(xì)情況請(qǐng)參考workbench 的說明及手冊(cè),這里就不多做介紹??傊褂脀o rkb ench 給開發(fā)人員的感受就是方便靈活,功能強(qiáng)大,幾乎無所不能。風(fēng)河公司副總裁、開發(fā)工具事業(yè)部總經(jīng)理stephen saunders認(rèn)為:“設(shè)備開發(fā)人員需要靈活、易用、高質(zhì)量的開發(fā)環(huán)境,確保能夠快速、高效、可靠地面向市場開發(fā)和部署各種高級(jí)嵌入式設(shè)備。風(fēng)河公司基 于eclipse的開發(fā)工具套件wind river workbench完全滿足了上述需求。wind river workbench此次榮獲eclipse基金會(huì)評(píng)選的最佳商用e
28、clipse開發(fā)工具再次證明了其價(jià)值所在,同時(shí)也是對(duì)我們開發(fā)工具產(chǎn)品提供的一流解決 方案的認(rèn)可?!?wind river workbench是一個(gè)完全基于eclipse平臺(tái)技術(shù)的開發(fā)平臺(tái)環(huán)境,能夠?yàn)槭褂胿xworks和wind river linux的設(shè)備開發(fā)人員加快產(chǎn)品上市速度(time-to-market)。通過緊密整合業(yè)界領(lǐng)先的實(shí)時(shí)操作系統(tǒng)(rtos)和linux系統(tǒng), workbench提供了靈活、端到端(end-to-end)、基于開放標(biāo)準(zhǔn)的嵌入式設(shè)備軟件開發(fā)環(huán)境。第2章 workbench3.0與tornado2.2的區(qū) 別與聯(lián)系workbench平臺(tái)相對(duì)于 tornado 平臺(tái)來
29、說,各項(xiàng)功能均有所增強(qiáng),也有不少新加入的功能,主要的功能對(duì)比如下表所列: 表1 tornado與workbench的功能對(duì)比項(xiàng)目 tornado workbench 工程管理基本的工程管理功能,對(duì)分級(jí)的工程支持有限,并需要手工修改makefile等,比較麻煩 支持任意工程的分級(jí)控制,采用簡單的“拖拉”方式就可完成工程項(xiàng)目的分級(jí)構(gòu)造,非常方便工程項(xiàng)目 支持可下載的工程項(xiàng)目和客戶化的vxworks 工程項(xiàng)目 增加了對(duì)系統(tǒng)引導(dǎo)工程項(xiàng)目、實(shí)時(shí)進(jìn)程工程項(xiàng)目、文件系統(tǒng)工程項(xiàng)目、用戶定制工程項(xiàng)目等的支持編輯器 功能比較簡單,只能完成一般的編輯功能 具有語法分析功能,可以進(jìn)行語法著色顯示、符號(hào)定義查找、符號(hào)補(bǔ)
30、全、函數(shù)參數(shù)提示等功能,具有強(qiáng)大的符號(hào)查找和瀏覽能力 斷點(diǎn)設(shè)置 功能比較簡單,只能完成一般的編輯功能 增加支持對(duì)處理器硬件斷點(diǎn)等的支持,并且對(duì)各種斷點(diǎn)還提供多種控制手段 仿真環(huán)境 基本的vxworks 仿真環(huán)境,可以操作主機(jī)系統(tǒng)中的文件和網(wǎng)絡(luò)訪問增強(qiáng)了仿真環(huán)境中的復(fù)雜組網(wǎng)功能,提供了調(diào)用主機(jī)系統(tǒng) api 的能力,并可模擬中斷信號(hào)的產(chǎn)生 目標(biāo)連接 支持網(wǎng)絡(luò)、串口等連接方式增加了對(duì)硬件仿真器的連接 下載的代碼量下載的目標(biāo)代碼一般在10mbyte之內(nèi),超過10mbyte 會(huì)出現(xiàn)下載速度慢,系統(tǒng)不穩(wěn)定的問題 設(shè)計(jì)能力為可下載750mbyte 的目標(biāo)代碼,充分滿足開發(fā)和調(diào)試需要目標(biāo)操作系統(tǒng)只支持vxwo
31、rks 操作系統(tǒng)增加了對(duì)linux 操作系統(tǒng)的支持,并且還可以擴(kuò)展到其它目標(biāo)操作系統(tǒng)目標(biāo)系統(tǒng)數(shù)目單一的目標(biāo)系統(tǒng),同一個(gè)開發(fā)環(huán)境中同時(shí)只能建立一個(gè)連接,調(diào)試一種類型的單板 可以同時(shí)進(jìn)行多目標(biāo)板、多cpu體系結(jié)構(gòu)的調(diào)試 多任務(wù)調(diào)試 不支持,每次只能掛接一個(gè)任務(wù),或者進(jìn)行系統(tǒng)級(jí)調(diào)試支持,同時(shí)可掛接目標(biāo)系統(tǒng)的多個(gè)任務(wù)或進(jìn)程進(jìn)行調(diào)試第三方工具 結(jié)構(gòu)比較封閉,集成第三方工具比較困難 采用eclipse 的開放架構(gòu),第三方工具容易集成,且資源豐富 workbench是對(duì) tornado 的一次脫胎換骨的升級(jí),但目前并不能說 workbench就可以完全取代tornado。這是因?yàn)?workbench只對(duì)vx
32、works6.0以上的版本(具有“進(jìn)程”的概念)進(jìn)行支持,如果用戶想使用vxworks6.0以下的版本(扁平地址空間,應(yīng)用程序均在內(nèi)核中運(yùn)行),那只能用tornado 進(jìn)行開發(fā)。 第三章 工程視圖(projects overview)workbench利用工程( projects)就像邏輯容器和積木塊它們能夠連接在一起創(chuàng)建一個(gè)軟件系統(tǒng)。工程( projects)窗口可以直觀地組織工程結(jié)構(gòu)反映在內(nèi)部的依賴關(guān)系上,以及編譯和鏈接的次序。前期配置的各種不同的工程允許在后面建立或添加工程時(shí)使用與之前的工程相同的配置和建立方式,因而只需要極小的輸入。1、 workspace/project 的設(shè)置win
33、d river workbench并不知道使用者的源文件在哪一個(gè)地方,在開始的使用的時(shí)候wind river workbench在安裝目錄下有一個(gè)默認(rèn)的工作空間(workspace )的目錄。但是這不是必需的或者說并不一定是合理的,當(dāng)使用者的工作空間因?yàn)楫a(chǎn)品升級(jí)或者更改安裝目錄已經(jīng)完全存儲(chǔ)在當(dāng)前的安裝目錄樹之外的時(shí)候!通常,使用者需要把workspace目錄設(shè)置在當(dāng)前的源文件樹的根目錄下并且在此創(chuàng)建workbench工程。對(duì)于各種不同的源文件樹,可以使用不同的工作空間(workspaces)。當(dāng)決定在什么地方建立工程(projects)要做以下考慮:1. 在workspace建立工程如果使用者
34、想要新建一個(gè)工程在workspace下,通常的情況有a. 所建的工程還沒有建立源文件。b. 所建的工程已經(jīng)存在源文件,但需要添加進(jìn)工程。c. 所建的工程不允許設(shè)置在源文件目錄處。2. 在workspace外部建立工程在創(chuàng)建工程時(shí),點(diǎn)擊“browse”,將要建立的工程放置在在與workspace不同的目錄。通常的情形有:a. 所建的工程建立在已有的原文件之上,改變工程目錄之后需要對(duì)源文件進(jìn)行添加和鏈接。b. 所建的工程需要版本控制,而被放置在workspace之外。3. 將工程建立在workspace之內(nèi)但是連接到外部位置在創(chuàng)建工程時(shí),選擇browse,定位到使用者的源文件目錄,當(dāng)不愿意因?yàn)楣こ?/p>
35、文件的加入而是原文件增大或者不想把源文件復(fù)制到workspace。通常的情形有:a. 所建的工程不允許設(shè)置在源文件目錄處。b. 所建的工程因?yàn)殚_發(fā)團(tuán)隊(duì)的成員有自己的工程,并且共享了部分源文件(通常為只讀的)。這種選擇就避免在團(tuán)隊(duì)成員之間通過workbench互相配合工作是需要建立的象征性的連接。注意:如果要使用一個(gè)早期版本的 workbench創(chuàng)建了一個(gè)workspace,在使用當(dāng)前版本的workbench打開此workspace時(shí),必須先升級(jí)此workspace的結(jié)構(gòu)!有一個(gè)對(duì)話框提醒使用者這種升級(jí)會(huì)使得workspace與早期的版本不相匹配,選擇“ok升級(jí),或者選擇“cancel”去選擇不
36、同的workspace。二、創(chuàng)建一個(gè)新工程(projects)盡管使用者可以將工程建立在任何位置,但是通常還是建立在自己的workspace中。這樣就不需要在建立工程時(shí)跳轉(zhuǎn)到外部目錄。如果在workspace創(chuàng)建了一個(gè)工程,必須在外部所創(chuàng)建的工程處設(shè)置寫允許,因?yàn)閣orkbench的工程管理文件要寫到此處??梢渣c(diǎn)擊 工具按鈕或者選擇 filenewwind river workbench project 創(chuàng)建一個(gè)之前配置好的工程,或者是創(chuàng)建一個(gè)特殊類型的工程;也可以選擇file new example 打開一個(gè)例子工程。無論選擇種菜單命令,都會(huì)由導(dǎo)航菜單一步一步選擇,直到創(chuàng)建需要的特定類型的工
37、程,接下來將介紹以下各工程的創(chuàng)建:a.creating vxworks image projectsb. creating boot loader/bsp projectsc. creating vxworks romfs file system projectsd. creating vxworks real-time process projectse. creating vxworks shared library projectsf. creating vxworks download able kernel module projectsg. creating user-define
38、d projectsh. creating native application project1. 工程創(chuàng)建之后的修改所有工程的創(chuàng)建導(dǎo)航設(shè)置都可以修改一旦工程已經(jīng)存在。在project explorer窗口,選中工程文件夾,例如“ball”,單擊右鍵在下拉菜單中選中“properties”,就可以在相應(yīng)工程的 project properties界面進(jìn)行修改,如下圖:工程的結(jié)構(gòu)設(shè)置(包括使用者創(chuàng)建的超級(jí)工程),也可以很容易的修改,在project explorer窗口,選中工程文件夾,例如“ball”,單擊右鍵在下拉菜單中選中project references add as project
39、 reference,在彈出的菜單里就可以設(shè)定個(gè)工程之間的結(jié)構(gòu)關(guān)系,如下圖所示:2. 工程與應(yīng)用程序(application code)工程以一種或幾種類型管理應(yīng)用程序文件??梢詫⒁粋€(gè)與workbench兼容的工程整個(gè)加入,也可以添加新的或者已經(jīng)存在的源程序文件。選擇 file import 打開“import file ”對(duì)話框進(jìn)行相關(guān)操作。3、 各工程類型結(jié)構(gòu)不同類型的工程有著不同的用處,workbench支持多種類型的工程,在project explorer窗口可以看見不同類型的工程有著不同的符號(hào)標(biāo)志,見下圖:1. vxworks image project(vip)用vxworks i
40、mage project 工程配置(自定義或裁剪)并編譯一個(gè)內(nèi)核映像用以啟動(dòng)目標(biāo)板( boot target)。通過添加vxworks romfs 文件系統(tǒng)、內(nèi)核模塊(kernel modules)、應(yīng)用程序(applications)、 庫(libraries)、 數(shù)據(jù)文件(data files),可以把整個(gè)系統(tǒng)聯(lián)接進(jìn)如一個(gè)映像(single image)。 一個(gè)vxworks image project既可基于一個(gè)同類型的image project也可基于一個(gè)bsp( board support package)。2. vxworks boot loader/bsp project(bsp
41、)vxworks boot loader/bsp工程用于創(chuàng)建一個(gè)vxworks boot loader也稱為vxworks boot rom 在啟動(dòng)時(shí)下載一個(gè)帶vxworks內(nèi)核的目標(biāo)映像。也可以把一個(gè)已經(jīng)存在的同類型的工程的源文件復(fù)制到使用者創(chuàng)建的工程中,然后在不改變 vxworks 所在目錄的情況下自定義工程。在開發(fā)環(huán)境中boot loader被用來從主機(jī)下載一個(gè)vxworks映像;在最終的產(chǎn)品中boot loader和操作系統(tǒng)映像存儲(chǔ)在同一個(gè)磁盤上。boot loader和vxworks并不需要在rom中單獨(dú)存儲(chǔ)。3. vxworks downloadable kernel module
42、 project(dkm)利用vxworks downloadable kernel module 工程管理和建立一個(gè)存在于內(nèi)核空間(kernel space)模塊(modules)??梢詥为?dú)建立模塊運(yùn)行和調(diào)試,可以自由的在目標(biāo)(target)上運(yùn)行vxworks,下載,卸載,重載。一旦模塊完成就可以靜態(tài)的鏈接到內(nèi)核(kernel),或者模塊也可以使用一個(gè)存在的文件系統(tǒng)。dkm工程示意圖(不包含文件系統(tǒng))內(nèi)核模式的開發(fā)是vxworks 傳統(tǒng)的開發(fā)方法,所有的任務(wù)(tasks)都在啟動(dòng)(spawn)之后運(yùn)行在一個(gè)沒有保護(hù)的環(huán)境。downloadable kernel module在目標(biāo)已經(jīng)啟動(dòng)之
43、后,可以啟動(dòng)應(yīng)用程序。4. vxworks real-time process project(rtp)vxworks real-time process可以管理和建立可執(zhí)行文件在內(nèi)核空間之外。可以單獨(dú)運(yùn)行和調(diào)試可執(zhí)行文件。對(duì)于real-time任務(wù)就像一個(gè)完全獨(dú)立的程序下載到一個(gè)單獨(dú)的程序運(yùn)行地址空間( process address space)。一個(gè)real-time的程序的二進(jìn)制文件可以像romfs文件系統(tǒng)一樣存在于目標(biāo)的(target-side)文件系統(tǒng)。real-time 程序執(zhí)行時(shí)對(duì)于內(nèi)核就像單獨(dú)的實(shí)體,如下圖所示:關(guān)于如何連接到共享庫(shared libraries),參看平
44、臺(tái)所帶的幫助信息。5. vxworks shared library project(libs)vxworks shared library的庫文件會(huì)動(dòng)態(tài)連接到運(yùn)行的vxworks實(shí)時(shí)程序,要連接到rtp工程,必須將共享庫( shared library)儲(chǔ)存在目標(biāo)側(cè)的文件系統(tǒng)。也可以通過vxworks shared library工程建立一個(gè)子工程在編譯時(shí)靜態(tài)鏈進(jìn)入其他的工程。更多的信息在平臺(tái)幫助信息中查看,其路徑為: help cheat sheets wind river workbench setup a vxworks rtp with a shared library 。6. vx
45、works romfs file system project(romfs)vxworks romfs file system 工程可以作為任何一個(gè)需要目標(biāo)側(cè)文件系統(tǒng)的工程的子工程。這種工程類型設(shè)計(jì)用來建立應(yīng)用程序或者其他任何類型的文件,帶一個(gè)vxworks系統(tǒng)映像的romfs文件系統(tǒng),除了是vxworks的引導(dǎo)映像并不需要任何的存儲(chǔ)介質(zhì)。所以并不需要其他的文件系統(tǒng)存儲(chǔ)文件,系統(tǒng)也具有完全的功能而不需要求助local文件系統(tǒng)、nfs 驅(qū)動(dòng)、rsh 、或者ftp 協(xié)議等等。需要注意的是romfs與rom 媒介沒有任何關(guān)系,名字代表的意思是read only memory file system。
46、 romfs工程示意圖:7. user-defined projects(udp)user-defined projects 為用戶設(shè)置和保存自己的編譯系統(tǒng)、文件系統(tǒng)布局等等。用戶接口提供以下支持:a. 可以用編譯命令(build command )開展用戶的編譯功能,這樣就允許在workbench gui界面進(jìn)行編譯。b. 在project explorer窗口中建立的工程,它的編譯規(guī)則可以反映在makefiles文件中。這樣就允許在project explorer窗口選擇任何用戶自己的編譯規(guī)則。c. 可以在build console窗口看到編譯工程時(shí)的輸出信息。8. native appl
47、ication project(nap)native application工程用于主機(jī)環(huán)境下的c/c+應(yīng)用程序的開發(fā)。wind river workbench為當(dāng)?shù)豨nu 2.9x, gnu 3.x, 和microsoft 開發(fā)功能(ssembler, compiler, linker, archiver)提供編譯和源文件分析支持,但沒有調(diào)試器,所以得選擇合適的當(dāng)?shù)毓ぞ哂糜谡{(diào)試(debugging)。4、 工程和工程結(jié)構(gòu)所有獨(dú)立的工程內(nèi)部都包含和其他任一工程無關(guān)的模塊,在系統(tǒng)開始是都是單個(gè)的和沒有經(jīng)過組織的。所以使用者可以在workbench下通過工程之間的依賴關(guān)系和編譯命令整體組織各個(gè)工程
48、。通過workbench可以很方便的組織各工程,但是有的工程不能作為某個(gè)工程的子工程或者是同種類型的工程,這樣的關(guān)聯(lián)是不允許的。1. 給一個(gè)工程加入子工程workbench可以通過多種的方式創(chuàng)建子工程或者超級(jí)工程(subproject/superproject)結(jié)構(gòu):a、在project explorer窗口,右鍵點(diǎn)擊工程,在下拉菜單中選擇project references add as project reference或者在project 菜單選擇 add as project reference。之后就可以進(jìn)行工程之間的關(guān)聯(lián)選擇。b、在project explorer窗口,右鍵點(diǎn)擊工程
49、,在下拉菜單中選擇properties再選 project references或者選擇project properties。然后選擇project references,之后進(jìn)行設(shè)置。workbench確認(rèn)子工程和超級(jí)工程之間的關(guān)系是基于工程類型和目標(biāo)操作系統(tǒng)的。有些關(guān)系是不允許的。比如,real-time process 工程不能作為vxworks image工程的子工程,但是可以加入到romfs工程。通常,一個(gè)user-defined 工程在選用一個(gè)合適的目標(biāo)操作系統(tǒng)的情況下可以作為任一工程的子工程或是超級(jí)工程。2. 移除子工程 a、在project explorer窗口,右鍵點(diǎn)擊工程,
50、在下拉菜單中選擇project references remove project reference或者在project 菜單選擇 remove project reference,之后進(jìn)行移除。 b、在project explorer窗口,右鍵點(diǎn)擊工程,在下拉菜單中選擇properties再選 project references或者選擇project properties。然后選擇project references,之后進(jìn)行移除。3. 工程結(jié)構(gòu)和主機(jī)文件系統(tǒng)結(jié)構(gòu) workbench工程在樹狀目錄的頂部,其他子目錄會(huì)自動(dòng)包含在此樹妝目錄之下。不要試圖通過子目錄建立工程建的連接關(guān)系,這樣是
51、不允許的,因?yàn)闀?huì)造成工程的重疊。 工程的目錄結(jié)構(gòu)和邏輯結(jié)構(gòu)示意圖:4. 工程結(jié)構(gòu)和編譯系統(tǒng)對(duì)于上文工程的“目錄結(jié)構(gòu)和邏輯結(jié)構(gòu)示意圖”所示工程的結(jié)構(gòu)與編譯順序的示意圖:編譯先從頂部開始,再逐層深入到內(nèi)部的枝葉最后回到頂部,完成編譯。上圖的編譯順序如下圖所示: 5. 工程結(jié)構(gòu)和共享子工程 一個(gè)實(shí)際的工程可以關(guān)聯(lián)任意數(shù)量的邏輯工程。產(chǎn)品的升級(jí)或者編譯共享工程亦或組件的變化,都會(huì)影響到關(guān)聯(lián)共享工程的工程結(jié)構(gòu)。6. 自定義編譯共享工程一個(gè)單獨(dú)的文件系統(tǒng)文件夾可以像子工程一樣添加到多個(gè)邏輯工程結(jié)構(gòu)。這種情況下,可以根據(jù)需要為每個(gè)工程指定不同的依賴編譯規(guī)格。同一個(gè)文件夾可以在同一個(gè)工程中指定不同的編譯規(guī)格。
52、如果為工程整體制定了一種編譯規(guī)格,那么子文件夾也會(huì)運(yùn)行這種編譯規(guī)格,為其指定的特殊的編譯規(guī)則自然就被排除在外。5、 工程的特殊執(zhí)行環(huán)境 如果需要為每個(gè)工程保存不同的編譯和外部工具執(zhí)行的環(huán)境,workbench 允許使用者創(chuàng)建一個(gè) perties文件,為每個(gè)工程定義工具、工具版本、環(huán)境變量等內(nèi)容。 可以把perties在團(tuán)隊(duì)共享保持一致性,也可以和工程中的其他文件一起做源文件控制。 a.在project explorer窗口,右鍵單擊工程,選擇new file。 b.在new file對(duì)話框選擇創(chuàng)建perties的步驟: new
53、file對(duì)話框如下圖所示: a.在file name中輸入perties,點(diǎn)擊finish。 b.連接到外部的perties點(diǎn)擊 advanced,然后選擇link to file in the file system選則當(dāng)?shù)氐奈募缓簏c(diǎn)finish完成。 注意;當(dāng)在團(tuán)隊(duì)中共享文件或者是在公共的位置訪問這些文件時(shí),最好使用路徑variable代替不受約束的路徑,因?yàn)閳F(tuán)隊(duì)成員到這個(gè)位置的路徑可能各不相同。設(shè)置variable路徑,點(diǎn)擊variables,在彈出的對(duì)話框中選擇new,輸入名稱和選擇預(yù)設(shè)的位置,點(diǎn)擊ok然后完成設(shè)置。c.新的 projec
54、perties文件出現(xiàn)在project explorer窗口底部,并且在編輯窗口打開,可以添加和編輯文件內(nèi)容。 d.新perties 和其他的工程描述文件使用相同的語法,都是wrenv(就像perties和perties )更多的信息參看vxworks command line tools users guide: creating a development shell with wrenv。e.如果已經(jīng)做了一個(gè)擴(kuò)展,在 project explorer窗口可以通過工程名查找到工程模板。f.打開 installdir/perties文件,查看模版中的列表信息:必須包含在擴(kuò)展中的類型、子類和其他
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《汽車消費(fèi)需求特征》課件
- 《天加風(fēng)機(jī)盤管介紹》課件
- 戲水安全課件
- 贛州師范高等??茖W(xué)?!稊?shù)量分析方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《修辭學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 課件活動(dòng)安全記錄表
- 三年級(jí)科學(xué)下冊(cè)第一單元土壤與生命第3課肥沃的土壤教案蘇教版
- 九年級(jí)化學(xué)上冊(cè)第五章燃料5.3二氧化碳的性質(zhì)和制法說課稿新版粵教版
- 小學(xué)生宿舍用電管理制度
- 科技安全課件
- 部編版小升初語文必考點(diǎn)集訓(xùn)-文言文專練(2)(含參考譯文及答案)
- 2024數(shù)據(jù)采集合同模板
- SH/T 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)(正式版)
- 湖南省益陽市2023-2024學(xué)年九年級(jí)上學(xué)期期末物理試卷
- 中餐廳主題宴會(huì)設(shè)計(jì)方案
- 緩沖罐操作規(guī)程
- 幼兒教育-個(gè)別幼兒教育記錄表.文檔
- (高清版)DZT 0338.4-2020 固體礦產(chǎn)資源量估算規(guī)程 第4部分 SD法
- 婦產(chǎn)科學(xué) (安康職業(yè)技術(shù)學(xué)院)智慧樹知到期末考試答案2024年
- 供電所營銷安全管理措施
- 水閘閘門運(yùn)行方案
評(píng)論
0/150
提交評(píng)論