ARM嵌入式開發(fā)流程和開發(fā)工具(含ADS與Multi ICE簡介)_第1頁
ARM嵌入式開發(fā)流程和開發(fā)工具(含ADS與Multi ICE簡介)_第2頁
ARM嵌入式開發(fā)流程和開發(fā)工具(含ADS與Multi ICE簡介)_第3頁
ARM嵌入式開發(fā)流程和開發(fā)工具(含ADS與Multi ICE簡介)_第4頁
ARM嵌入式開發(fā)流程和開發(fā)工具(含ADS與Multi ICE簡介)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第4章 ARM嵌入式開發(fā)流程和開發(fā)工具嵌入式系統(tǒng)的設(shè)計可以分成三個階段:分析、設(shè)計和實現(xiàn)。分析階段是確定要解決的問題及需要完成的目標,也常常被稱為“需求階段”;設(shè)計階段主要是解決如何在給定的約束條件下完成用戶的要求;實現(xiàn)階段主要是解決如何在所選擇的硬件和軟件的基礎(chǔ)上進行整個軟、硬件系統(tǒng)的協(xié)調(diào)實現(xiàn)。在分析階段結(jié)束后,通常開發(fā)者面臨的一個棘手的問題就是硬件平臺和軟件平臺的選擇,因為它的好壞直接影響著實現(xiàn)階段的任務完成。通常硬件和軟件的選擇包括:處理器、硬件部件、操作系統(tǒng)、編程語言、軟件開發(fā)工具、硬件調(diào)試工具、軟件組件等。在上述選擇中,通常,處理器是最重要的,同時操作系統(tǒng)和編程語言也是非常關(guān)鍵的。處

2、理器的選擇往往同時會限制操作系統(tǒng)的選擇,操作系統(tǒng)的選擇又會限制開發(fā)工具的選擇。4.1AARM嵌嵌入式開開發(fā)模式式嵌入式系系統(tǒng)與一一般PCC機在開開發(fā)的硬硬件環(huán)境境上的最最大差異異就是它它分成兩兩個平臺臺,一個個是宿主主機(HHostt),一一個是目目標機(Tarrgett)。這這里的宿宿主機通通常就是是PC機機,首先先利用宿宿主機上上豐富的的資源、良好的的開發(fā)環(huán)環(huán)境編寫寫和編譯譯能夠在在目標機機上運行行的程序序,這個個過程叫叫做交叉叉編譯,然后通通過串口口、并口口、網(wǎng)絡(luò)絡(luò)或其它它接口通通過一定定的傳輸輸手段將將交叉編編譯生成成的目標標代碼傳傳輸并裝裝載到目目標機上上。圖44-1中中就是采采用并

3、口口在線仿仿真器與與目標機機和宿主主機進行行連接,從而實實現(xiàn)目標標代碼的的運行和和調(diào)試。宿主機機的工作作環(huán)境可可以是WWinddowss 988,Wiindoows XP,Winndowws 220000以及RRedHHat等等操作系系統(tǒng),具具體選擇擇何種操操作系統(tǒng)統(tǒng)是由所所采用的的仿真器器和所開開發(fā)的軟軟件決定定,在AARM的的開發(fā)過過程中對對于不同同的軟件件開發(fā)階階段所采采用的調(diào)調(diào)試手段段是不同同的,宿宿主機的的操作系系統(tǒng)需求求也就不不一樣。詳細的的描述請請參考本本節(jié)后面面的內(nèi)容容。圖4-11所示為為一個典典型的目目標機/宿主機機開發(fā)模模式。宿宿主機運運行ADDS 11.2集集成開發(fā)發(fā)環(huán)境

4、,并通過過在線仿仿真器(Mullti-ICEE)對目目標處理理器(SSamssungg公司的的基于AARM9920TT核的SS3C224100處理器器)ARRM處理理器進行行調(diào)試。宿主機機和在線線仿真器器通過并并口連接接,在線線仿真器器同時連連接到目目標機的的JTAAG接口口。宿主機ADS 1.2在線仿真器Multi-ICE嵌入式系統(tǒng)S3C2410(ARM920T)并口JTAG接口圖4-1 目標機/宿主機開發(fā)模式4.2AARM嵌嵌入式開開發(fā)流程程和開發(fā)發(fā)工具ARM嵌嵌入式系系統(tǒng)的開開發(fā)流程程非常靈靈活而復復雜,尤尤其是軟軟件開發(fā)發(fā)過程牽牽涉到許許多不同同的開發(fā)發(fā)過程,而且每每個開發(fā)發(fā)過程所所使

5、用的的開發(fā)工工具均不不盡相同同,因此此,在深深入學習習ARMM軟件開開發(fā)之前前,有必必要對AARM嵌嵌入式開開發(fā)流程程和所使使用的開開發(fā)工具具有一個個初步的的了解,本節(jié)就就是要達達到這樣樣的目的的,至于于各個開開發(fā)過程程和開發(fā)發(fā)工具的的詳細介介紹請參參考后續(xù)續(xù)有關(guān)章章節(jié)。4.2.1 選擇硬硬件平臺臺1、處理理器的選選擇嵌入式系系統(tǒng)的核核心部件件是各種種類型的的嵌入式式處理器器。據(jù)不不完全統(tǒng)統(tǒng)計,目目前全世世界嵌入入式處理理器的品品種總量量已經(jīng)超超過10000多多種,流流行體系系結(jié)構(gòu)有有30幾幾個系列列。但與與全球PPC市場場不同的的是,沒沒有一種種微處理理器和微微處理器器公司可可以主導導嵌入式

6、式系統(tǒng),僅以332位的的CPUU而言,就有1100種種以上嵌嵌入式微微處理器器。由于于嵌入式式系統(tǒng)設(shè)設(shè)計的差差異性極極大,因因此選擇擇是多樣樣化的。ARM是是近年來來在嵌入入式系統(tǒng)統(tǒng)有影響響力的微微處理器器制造商商,ARRM的設(shè)設(shè)計非常常適用于于小的電電源供電電系統(tǒng)。Appple在在Newwtonn手持計計算機中中使用AARM,另外有有幾款數(shù)數(shù)字無線線電話也也在使用用ARMM。設(shè)計者在在選擇處處理器時時要考慮慮的主要要因素有有:1)處理理性能一個處理理器的性性能取決決于多個個方面的的因素,如時鐘鐘頻率,內(nèi)部寄寄存器的的大小,指令是是否對等等處理所所有的寄寄存器等等。對于于許多需需用處理理器的嵌

7、嵌入式系系統(tǒng)設(shè)計計來說,目標不不是在于于挑選速速度最快快的處理理器,而而是在于于選取能能夠完成成設(shè)計目目標的處處理器。比如:對對于ARRM處理理器,如如果需要要使用軟軟解壓實實現(xiàn)視頻頻,應該該盡量選選用ARRM9、Xsccalee等高檔檔處理器器。而對對于一般般工業(yè)控控制,則則可以考考慮ARRM7芯芯片是否否滿足要要求。2)技術(shù)術(shù)指標當前,許許多嵌入入式處理理器都集集成了外外圍設(shè)備備的功能能,減少少了芯片片的數(shù)量量,降低低了整個個系統(tǒng)的的開發(fā)費費用和技技術(shù)難度度。開發(fā)發(fā)人員首首先考慮慮的是,系統(tǒng)所所要求的的一些硬硬件能否否方便地地連接到到處理器器上。其其次是考考慮該處處理器的的一些支支持芯片片

8、,如DDMA控控制器,內(nèi)存管管理器,中斷控控制器,串行設(shè)設(shè)備、時時鐘等的的配套。各個廠家家市場的的ARMM芯片都都根據(jù)不不同的設(shè)設(shè)計目標標擴展了了豐富的的接口,在選擇擇處理器器時應該該考慮選選擇能夠夠支持盡盡可能多多的功能能,尤其其是相對對設(shè)計復復雜的功功能。3)功耗耗嵌入式微微處理器器最大并并且增長長最快的的市場是是手持設(shè)設(shè)備、電電子記事事本、PPDA、手機、GPSS導航器器、智能能家電等等消費類類電子產(chǎn)產(chǎn)品。這這些產(chǎn)品品對微處處理器的的基本要要求是:高性能能、低功功耗。4)操作作系統(tǒng)和和軟件支支持工具具的選擇擇操作系統(tǒng)統(tǒng)的移植植和開發(fā)發(fā)是嵌入入式設(shè)計計中的一一個關(guān)鍵鍵階段。處理器器和操作作

9、系統(tǒng)的的選擇在在一定程程度上互互相影響響,同時時又將影影響其軟軟件支持持工具,因此,處理器器的選擇擇的同時時必須充充分考慮慮操作系系統(tǒng)的因因素。在ARMM系統(tǒng)中中,如果果用戶希希望使用用Winndowws CCE、LLinuux等操操作系統(tǒng)統(tǒng),就需需要選擇擇ARMM7200T以上上帶有MMMU(Memmoryy Maanaggemeent Uniit)功功能的AARM芯芯片,AARM7720TT、ARRM9220T、ARMM9222T、AARM9946TT、Sttronng-AARM都都帶有MMMU功功能。而而ARMM7TDDMI則則沒有MMMU,不支持持Winndowws CCE和LLinu

10、ux,但但目前有有uCLLinuux以及及uC/OS-II等等不需要要MMUU支持的的操作系系統(tǒng)可運運行于AARM77TDMMI硬件件平臺之之上。事事實上,uCLLinuux已經(jīng)經(jīng)成功移移植到多多種不帶帶MMUU的微處處理器平平臺上,并在穩(wěn)穩(wěn)定性和和其他方方面都有有上佳表表現(xiàn)。另外,如如果決定定采用LLinuux、WWinddowss CEE、vxxWorrks等等操作系系統(tǒng)時,在選擇擇處理器器時應該該盡量選選擇該操操作系統(tǒng)統(tǒng)已經(jīng)支支持的處處理器,這樣可可以大大大加快開開發(fā)進度度,降低低難度。選擇不同同的操作作系統(tǒng),其軟件件開發(fā)過過程和調(diào)調(diào)試手段段各不相相同,你你的選擇擇方案是是否能夠夠提供各

11、各個開發(fā)發(fā)階段(包括bboottloaaderr開發(fā)、操作系系統(tǒng)移植植、驅(qū)動動開發(fā)和和應用開開發(fā))所所需的軟軟件支持持工具也也是一個個必須考考慮的因因素。5)是否否內(nèi)置調(diào)調(diào)試工具具處理器如如果內(nèi)置置調(diào)試工工具可以以大大縮縮小調(diào)試試周期,降低調(diào)調(diào)試的難難度。AARM提提供JTTAG調(diào)調(diào)試接口口,而且且有眾多多的第三三方廠家家推出各各種調(diào)試試工具。2、硬件件平臺的的選擇選擇好目目標微處處理器后后還需要要準備硬硬件平臺臺。目前前國內(nèi)外外有許多多針對各各種ARRM微處處理器的的開發(fā)板板,這些些開發(fā)板板對所支支持的AARM微微處理器器做了詳詳細的硬硬件評估估和軟件件支持。在自己己動手設(shè)設(shè)計硬件件平臺之之

12、前,購購買一塊塊這種開開發(fā)板作作為測試試平臺,進行學學習和參參考,這這樣可以以大大加加快開發(fā)發(fā)進度。對于一一些應用用,也可可以直接接在這些些開發(fā)板板上進行行,這樣樣可以省省略硬件件設(shè)計的的階段。如果您不不打算購購買開發(fā)發(fā)板作為為測試平平臺,您您就需要要自行設(shè)設(shè)計硬件件平臺。在本書書的第55章中,以目前前國內(nèi)AARM99的主流流芯片:Sammsunng公司司的S33C24410為為例,詳詳細介紹紹了該處處理器的的硬件架架構(gòu)和硬硬件接口口擴展方方法。4.2.2 硬件驅(qū)驅(qū)動調(diào)試試如果硬件件平臺是是自行設(shè)設(shè)計的,必須首首先對硬硬件進行行調(diào)試,硬件調(diào)調(diào)試成功功是進行行操作系系統(tǒng)移植植和應用用程序開開發(fā)的

13、一一個基本本前提。這個過程程通常是是通過編編寫一些些簡單的的測試程程序直接接驅(qū)動硬硬件以驗驗證硬件件是否正正確,這這些程序序可以基基于操作作系統(tǒng)進進行編程程,也可可以不使使用操作作系統(tǒng),而且后后一種方方法來得得更加簡簡單,調(diào)調(diào)試也更更方便和和快捷。這一類過過程通常常采用圖圖4-11所示的的開發(fā)模模式,在在運行于于Winndowws的AADS 1.22中編寫寫程序并并編譯,然后通通過Muultii-ICCE下載載并調(diào)試試程序。由于這這個過程程的編程程動作依依賴于硬硬件,采采用這種種模式可可以充分分利用在在線仿真真器的強強大的軟軟件調(diào)試試功能,從而加加快排錯錯過程。4.2.3 操作系系統(tǒng)的選選擇和

14、移移植在單片機機系統(tǒng)中中,由于于受硬件件資源的的限制,同時應應用程序序通常比比較簡單單,因此此,通常常不使用用操作系系統(tǒng),直直接采用用前后臺臺程序控控制方式式設(shè)計軟軟件系統(tǒng)統(tǒng)。前臺臺運行一一個死循循環(huán)作為為主程序序流程,在主程程序中設(shè)設(shè)置中斷斷,當中中斷產(chǎn)生生的時候候,運行行后臺中中斷服務務程序,然后返返回繼續(xù)續(xù)運行主主程序。這樣的的開發(fā)方方式在AARM開開發(fā)中同同樣適用用,而且且對于一一些小型型應用完完全可以以采取這這種方式式,但是是對于復復雜應用用,如復復雜的圖圖形用戶戶界面、網(wǎng)絡(luò)協(xié)協(xié)議等,采用前前后臺控控制方式式進行設(shè)設(shè)計的應應用程序序設(shè)計復復雜,而而且不便便于軟件件模塊的的劃分和和軟件

15、升升級、維維護等。在這種情情況下,操作系系統(tǒng)的優(yōu)優(yōu)勢展露露無疑。使用操操作系統(tǒng)統(tǒng)能夠充充分發(fā)揮揮ARMM微處理理器的優(yōu)優(yōu)勢。目目前絕大大多數(shù)嵌嵌入式操操作系統(tǒng)統(tǒng)都能夠夠穩(wěn)定運運行在AARM微微處理器器上。軟軟件開發(fā)發(fā)中必須須首先選選擇合適適的操作作系統(tǒng)。下面將將簡單介介紹幾種種常用的的嵌入式式操作系系統(tǒng)以及及它們的的基本開開發(fā)流程程。1、CC/OSS-IIIC/OOS-III是一一種免費費公開源源代碼、結(jié)構(gòu)小小巧、具具有可剝剝奪實時時內(nèi)核的的實時操操作系統(tǒng)統(tǒng)。其內(nèi)內(nèi)核提供供任務調(diào)調(diào)度與管管理、時時間管理理、任務務間同步步與通信信、內(nèi)存存管理和和中斷服服務等功功能。它它可以基基于ROOM運行行(

16、ROOMabble)、可裁裁減,具具有高度度移植性性。從應用的的角度來來看,C/OOS-III提供供了一個個實時性性非常好好的嵌入入式內(nèi)核核,在工工業(yè)控制制、數(shù)據(jù)據(jù)采集等等領(lǐng)域應應用廣泛泛。但C/OOS-III內(nèi)核核不支持持文件系系統(tǒng)、網(wǎng)網(wǎng)絡(luò)協(xié)議議等功能能,而且且沒有提提供統(tǒng)一一的硬件件驅(qū)動程程序接口口和開發(fā)發(fā)工具鏈鏈,在復復雜應用用中需要要考慮內(nèi)內(nèi)核以外外功能的的實現(xiàn)難難易程度度。C/OOS-III內(nèi)核核不支持持文件系系統(tǒng),不不支持應應用程序序和驅(qū)動動程序的的加載,因此,在CC/OSS-III開發(fā)中中,內(nèi)核核、驅(qū)動動程序和和應用程程序都是是集中編編譯,也也就是說說,CC/OSS-III編譯以

17、以后的二二進制代代碼中即即包含內(nèi)內(nèi)核代碼碼,也包包含驅(qū)動動程序和和應用程程序的代代碼。同同時CC/OSS-III沒有提提供統(tǒng)一一的開發(fā)發(fā)工具鏈鏈,CC/OSS-III程序的的編譯應應該采用用支持所所選處理理器的編編譯器。對于AARM處處理器,可以在在Winndowws環(huán)境境中使用用ADSS 1.2、AADT IDEE中編譯譯C/OS-II,也可以以在Liinuxx環(huán)境中中使用GGNU GCCC編譯C/OOS-III。因因此可以以采用圖圖4-11所示的的開發(fā)模模式調(diào)試試基于C/OOS-III的程程序。2、Liinuxx/uCClinnuxLinuux/uuCliinuxx是對于于有MMMU和沒沒

18、有MMMU的處處理器的的Linnux解解決方案案。Liinuxx內(nèi)核的的完全開開放,使使得可以以自己設(shè)設(shè)計和開開發(fā)出真真正的硬硬實時系系統(tǒng);對對于軟實實時系統(tǒng)統(tǒng),在LLinuux中也也容易得得到實現(xiàn)現(xiàn)。Linuux/uuCliinuxx提供強強大的文文件系統(tǒng)統(tǒng)、網(wǎng)絡(luò)絡(luò)功能、GUII等軟件件模組支支持,而而且這些些功能都都是可以以裁減的的,同時時它還提提供了標標準的驅(qū)驅(qū)動程序序接口和和軟件開開發(fā)接口口,便于于用戶編編程和程程序維護護。Linuux/uuCliinuxx自身具具備一整整套工具具鏈(GGNU GCCC),包包括編譯譯和調(diào)試試工具,用戶可可以自行行建立嵌嵌入式系系統(tǒng)的開開發(fā)環(huán)境境和交叉

19、叉運行環(huán)環(huán)境,并并且可以以跨越在在嵌入式式系統(tǒng)開開發(fā)中仿仿真工具具(ICCE)的的障礙。對于ARRM處理理器,LLinuux/uuCliinuxx內(nèi)核、驅(qū)動程程序以及及應用程程序的編編譯都在在Linnux環(huán)環(huán)境中使使用GNNU GGCC完完成。對對于內(nèi)核核和驅(qū)動動程序的的調(diào)試通通常借助助于運行行于Liinuxx/uCClinnux之之前的bboottloaaderr來完成成,只有有在很少少的情況況下需要要借助在在線仿真真器完成成。對于于應用程程序的調(diào)調(diào)試則可可以完全全拋棄在在線仿真真器,使使用GDDB完成成。在本本書的第第7章中中介紹了了boootlooadeer以及及Linnux/uClli

20、nuux的相相關(guān)知識識。3、Wiindoows CEWinddowss CEE是Wiindoows界界面在嵌嵌入式處處理器中中的實現(xiàn)現(xiàn),它提提供了友友好的人人機交互互界面和和強大的的二次開開發(fā)功能能。Wiindoows CE包包括四大大基本模模塊,它它們提供供了操作作系統(tǒng)的的關(guān)鍵特特性,分分別是:內(nèi)核(Kerrnell)模塊塊、對象象存儲(Objjectt Sttoree)模塊塊、GWWES(用戶、應用程程序和操操作系統(tǒng)統(tǒng)之間的的圖形用用戶界面面)模塊塊和通信信(Coommuuniccatiion)模塊。Winddowss CEE擁有完完善的軟軟件支持持開發(fā)工工具,WWinddowss CEE

21、的核心心移植和和驅(qū)動開開發(fā)使用用專門的的操作系系統(tǒng)定制制工具:Winndowws CCE PPlattforrm BBuillderr(簡稱稱PB)。而應應用程序序的開發(fā)發(fā)則有嵌嵌入式開開發(fā)工具具包Emmbedddedd Viisuaal TToolls,包包括Emmbedddedd Viisuaal CC+(簡稱EEVC)和Emmbedddedd Viisuaal BBasiic(簡簡稱EVVB)等等。同時時Embbeddded Vissuall Tooolss下還可可以進行行部分驅(qū)驅(qū)動程序序的開發(fā)發(fā)。同時時在Wiindoows CE中中還提供供了用于于Winndowws CCE開發(fā)發(fā)的bo

22、ootlloadder:EBOOOT。4、vxxWorrksVxWoorkss是專門門為實時時嵌入式式系統(tǒng)設(shè)設(shè)計開發(fā)發(fā)的操作作系統(tǒng)內(nèi)內(nèi)核,為為程序員員提供了了高效的的實時多多任務調(diào)調(diào)度、中中斷管理理,實時時的系統(tǒng)統(tǒng)資源以以及實時時的任務務間通信信。在各各種CPPU平臺臺上提供供了統(tǒng)一一的編程程接口和和一致的的運行特特性,盡盡可能的的屏蔽了了不同CCPU之之間的底底層差異異。應用用程序員員可以將將盡可能能多的精精力放在在應用程程序本身身,而不不必再去去關(guān)心系系統(tǒng)資源源的管理理?;谟赩xWWorkks操作作系統(tǒng)的的應用程程序可以以在不同同CPUU平臺上上輕松移移植。VxWoorkss是一種種功能

23、強強大而且且比較復復雜的操操作系統(tǒng)統(tǒng),包括括了進程程管理、存儲管管理、設(shè)設(shè)備管理理、文件件系統(tǒng)管管理、網(wǎng)網(wǎng)絡(luò)協(xié)議議及系統(tǒng)統(tǒng)應用等等幾個部部分。VVxWoorkss只占用用了很小小的存儲儲空間,并可高高度裁減減,保證證了系統(tǒng)統(tǒng)能以較較高的效效率運行行。所以以,僅僅僅依靠人人工編程程調(diào)試,很難發(fā)發(fā)揮它的的功能并并設(shè)計出出可靠、高效的的嵌入式式系統(tǒng),必須要要有與之之相適應應的開發(fā)發(fā)工具。TorrnaddoIII就是為為開發(fā)VVxWoorkss應用系系統(tǒng)提供供的集成成開發(fā)環(huán)環(huán)境,TTornnadooII中中包含的的工程管管理軟件件,可以以將用戶戶自己的的代碼與與VxWWorkks的核核心有效效的組合合

24、起來,可以按按用戶的的需要裁裁剪配置置VxWWorkks內(nèi)核核;vxxSimm原型仿仿真器可可以讓程程序員不不用目標標機的情情況下,直接開開發(fā)系統(tǒng)統(tǒng)原型,作出系系統(tǒng)評估估;功能能強大的的CroossWWindd調(diào)試器器可以提提供任務務級和系系統(tǒng)級的的調(diào)試模模式,可可以進行行多目標標機的聯(lián)聯(lián)調(diào);優(yōu)優(yōu)化分析析工具可可以幫助助程序員員從多種種方式真真正地觀觀察、跟跟蹤系統(tǒng)統(tǒng)的運行行,排除除錯誤,優(yōu)化性性能。4.3 ADSS與Muultii-ICCE簡介介本節(jié)將簡簡單介紹紹ARMM開發(fā)軟軟件ADDS(AARM Devvelooperr Suuitee)和MMultti-IICE硬硬件仿真真器。在在隨后

25、的的8.11節(jié)中,將以一一個簡單單的例子子描述如如何在AADS集集成開發(fā)發(fā)環(huán)境下下編寫、編譯并并調(diào)試應應用程序序。ARM ADSS全稱為為ARMM Deevellopeer SSuitte,是是ARMM公司推推出的用用于ARRM程序序設(shè)計、開發(fā)和和調(diào)試的的集成開開發(fā)工具具。現(xiàn)在在ADSS的最新新版本是是1.22,它取取代了早早期的AADS11.1和和ADSS1.00。它支支持Wiindoows NT44,Wiindoows 20000,WWinddowss 988、Wiindoows 95、Winndowws XXP和WWinddowss Mee等操作作系統(tǒng)。ADS由由命令行行開發(fā)工工具,AA

26、RM運運行時庫庫,圖形形化集成成開發(fā)環(huán)環(huán)境(CCodee Waarriior和和AXDD),實實用程序序和支持持軟件組組成。下下面將就就每個部部分作詳詳細的介介紹。本文以AADS 1.22為例,并假設(shè)設(shè)已經(jīng)將將ADSS 1.2安裝裝在“CC:PProggramm FiilessARRMAADSvv1_22”目目錄下。4.3.1 命令行行開發(fā)工工具ADS包包含一系系列基于于命令行行的ARRM編譯譯、匯編編、鏈接接等工具具,它們們位于AADS安安裝目錄錄的biin子目目錄下(C:Proograam FFileesAARMADSSv1_2BBin)。它們們既可以以在命令令控制臺臺環(huán)境下下使用,同時由

27、由于已被被嵌入到到了ADDS的圖圖形界面面中,所所以也可可以在圖圖形界面面下通過過參數(shù)設(shè)設(shè)置等手手段來使使用。1、ARRM CC(C+)編編譯器ADS包包含包含含多種CC編譯器器,包括括:arrmccc,tccc,aarmccpp和和tcppp。其其中arrmccc是ARRM CC編譯器器,arrmcppp是AARM C+編譯器器,tccc是TThummb CC 編譯譯器,ttcppp是Thhumbb C+ 編編譯器。2、ARRM匯編編器(aarmaasm)armaasm是是ARMM和Thhumbb的匯編編器. 它對用用ARMM 匯編編語言和和Thuumb 匯編語語言寫的的源代碼碼進行匯匯編。

28、3、ARRM鏈接接器(aarmllinkk)armllinkk是ARRM連接接器。該該命令既既可以將將編譯得得到的一一個或多多個目標標文件和和相關(guān)的的一個或或多個庫庫文件進進行鏈接接,生成成一個可可執(zhí)行文文件,也也可以將將多個目目標文件件部分鏈鏈接成一一個目標標文件,以供進進一步的的鏈接。ARMM鏈接器器生成的的是ELLF格式式的可執(zhí)執(zhí)行映像像文件。5、符號號調(diào)試器器(arrmsdd)armssd是AARM 和Thhumbb的符號號調(diào)試器器。它能能夠進行行源碼級級的程序序調(diào)試。用戶可可以在用用C或匯匯編語言言寫的代代碼中進進行單步步調(diào)試,設(shè)置斷斷點,查查看變量量值和內(nèi)內(nèi)存單元元的內(nèi)容容。4.3

29、.2 ARMM運行時時庫ADS提提供以下下的:在ADSS軟件安安裝路徑徑的liib目錄錄(C:Prrogrram FillesARMMADDSv11_2libb)下有有兩個子子目錄:armmlibb和cpppliib。這這兩個子子目錄提提供了兩兩種運行行時庫來來支持被被編譯的的C和CC+代代碼,它它們分別別是:AANSII C函函數(shù)庫和和C+函數(shù)庫庫。環(huán)境變量量ARMMLIBB必須被被設(shè)置成成指向庫庫路徑。另外一一種指定定ARMM C和和ARMM C+庫路路徑的方方法是,在鏈接接的時候候使用操操作選項項-liibpaath dirrecttoryy(diirecctorry代表表庫所在在的路徑

30、徑),來來指明要要裝載的的庫的路路徑。需需要說明明的是,ADSS安裝成成功后,ARMMLIBB被缺省省指向到到C:Proograam FFileesAARMADSSv1_2LLIB目目錄,因因此通常常不用進進行設(shè)置置鏈接器器就會自自動從AARMLLIB指指定的庫庫路徑中中找出這這兩個函函數(shù)庫的的路徑。1、ANNSI C函數(shù)數(shù)庫:(armmlibb)ARM C 庫庫包含浮浮點代數(shù)數(shù)運算庫庫、數(shù)學學庫等各各類庫函函數(shù)。與與這些庫庫相應的的頭文件件在C:Prrogrram FillesARMMADDSv11_2inccludde目錄錄中。這這個C函函數(shù)庫是是由以下下幾部分分組成:1)在IISO C標

31、準準中定義義的函數(shù)數(shù);2)在ssemiihosstedd環(huán)境下下(seemihhosttingg是針對對ARMM目標機機的一種種機制,它能夠夠根據(jù)應應用程序序代碼的的輸入/輸出請請求,與與運行有有調(diào)試功功能的主主機通訊訊。這種種技術(shù)允允許主機機為通常常沒有輸輸入和輸輸出功能能的目標標硬件提提供主機機資源)用來實實現(xiàn)C庫庫函數(shù)的的與目標標相關(guān)的的函數(shù);3)被CC和C+編譯譯器所調(diào)調(diào)用的支支持函數(shù)數(shù)。ARM C 庫庫提供了了額外的的一些部部件支持持C+,并為為不同的的結(jié)構(gòu)體體系和處處理器編編譯代碼碼。ARM C庫函函數(shù)是以以二進制制格式提提供的,并禁止止修改。如果讀讀者想對對庫函數(shù)數(shù)創(chuàng)建新新的實現(xiàn)

32、現(xiàn)的話,可以把把這個新新的函數(shù)數(shù)編譯成成目標文文件,然然后在鏈鏈接的時時候把它它包含進進來。這這樣在鏈鏈接的時時候,使使用的是是新的函函數(shù)實現(xiàn)現(xiàn)而不是是原來的的庫函數(shù)數(shù)。通常情況況下,為為了創(chuàng)建建依賴于于目標的的應用程程序,在在ANSSI CC庫中只只有很少少的幾個個函數(shù)需需要實現(xiàn)現(xiàn)重建。2、C+函數(shù)數(shù)庫:這個子目目錄包含含了Rooguee Waave C+庫和CC+支支持函數(shù)數(shù)庫。RRoguue WWavee C+庫和和C+支持函函數(shù)庫合合在一起起被稱為為ARMM C+庫。與這些些庫相應應的頭文文件安裝裝在C:Prrogrram FillesARMMADDSv11_2inccludde目錄錄

33、下。這這個庫是是由以下下幾部分分組成的的:1)版本本為2.01.01的的Roggue Wavve SStanndarrd CC+庫庫;2)C+編譯譯器使用用的支持持函數(shù);3)Rooguee Waave庫庫所不支支持的其其他的CC+函函數(shù)。Roguue WWavee Sttanddardd C+函數(shù)數(shù)庫的源源代碼不不是免費費發(fā)布的的,可以以從Rooguee Waave Sofftwaare Incc.,或或ARMM公司通通過支付付許可證證費用來來獲得源源文件。4.3.3 圖形化化集成開開發(fā)環(huán)境境(Coode Warrrioor和AAXD)1、CoodeWWarrriorr foor AARMCo

34、deeWarrrioor ffor ARMM是一套套完整的的集成開開發(fā)工具具,充分分發(fā)揮了了ARMM RIISC 的優(yōu)勢勢, 使使產(chǎn)品開開發(fā)人員員能夠很很好的應應用尖端端的片上上系統(tǒng)技技術(shù). 該工具具是專為為基于AARM RISSC的處處理器而而設(shè)計的的, 它它可加速速并簡化化嵌入式式開發(fā)過過程中的的每一個個環(huán)節(jié),使得開開發(fā)人員員只需通通過一個個集成軟軟件開發(fā)發(fā)環(huán)境就就能研制制出ARRM產(chǎn)品品,在整整個開發(fā)發(fā)周期中中,開發(fā)發(fā)人員無無需離開開CoddeWaarriior開開發(fā)環(huán)境境, 因因此節(jié)省省了在操操做工具具上花的的時間,使得開開發(fā)人員員有更多多的精力力投入到到代碼編編寫上來來,CodeeW

35、arrrioor集成成開發(fā)環(huán)環(huán)境(IIDE)為管理理和開發(fā)發(fā)項目提提供了簡簡單多樣樣化的圖圖形用戶戶界面。用戶可可以使用用ADSS的CoodeWWarrriorr IDDE為AARM和和Thuumb處處理器開開發(fā)用CC,C+,或或ARMM匯編語語言的程程序代碼碼。通過過提供下下面的功功能,CCodeeWarrrioor IIDE縮縮短了用用戶開發(fā)發(fā)項目代代碼的周周期。1)全面面的項目目管理功功能;2)子函函數(shù)的代代碼導航航功能,使得用用戶迅速速找到程程序中的的子函數(shù)數(shù)??梢栽贑CodeeWarrrioor IIDE為為ARMM配置各各種命令令行工具具的參數(shù)數(shù),實現(xiàn)現(xiàn)對工程程代碼的的編譯,匯編和

36、和鏈接。CodeeWarrrioor IIDE 能夠讓讓用戶將將源代碼碼文件,庫文件件還有其其他相關(guān)關(guān)的文件件以及配配置設(shè)置置等放在在一個工工程中。每個工工程可以以創(chuàng)建和和管理生生成目標標設(shè)置的的多個配配置。例例如,要要編譯一一個包含含調(diào)試信信息的生生成目標標和一個個基于AARM77TDMMI的硬硬件優(yōu)化化生成目目標,生生成目標標可以在在同一個個工程中中共享文文件,同同時使用用各自的的設(shè)置。CodeeWarrrioor IIDE為為用戶提提供下面面的功能能:源代碼編編輯器,它集成成在CoodeWWarrriorr IDDE的瀏瀏覽器中中,能夠夠根據(jù)語語法格式式,使用用不同的的顏色顯顯示代碼碼;

37、源代碼瀏瀏覽器,它保存存了在源源碼中定定義的所所有符號號,能夠夠使用戶戶在源碼碼中快速速方便的的跳轉(zhuǎn);查找和替替換功能能,用戶戶可以在在多個文文件中,利用字字符串通通配符,進行字字符串的的搜索和和替換;文件比較較功能,可以使使用戶比比較路徑徑中的不不同文本本文件的的內(nèi)容。ADS的的CoddeWaarriior IDEE是基于于Mettrowwerkks CCodeeWarrrioor IIDE 4.22版本的的。它經(jīng)經(jīng)過適當當?shù)牟眉艏粢灾С殖諥DSS工具鏈鏈。針對ARRM的配配置面板板為用戶戶提供了了在CoodeWWarrriorr IDDE集成成環(huán)境下下配置各各種ARRM開發(fā)發(fā)工具的的能力。

38、以ARMM為目標標平臺的的工程創(chuàng)創(chuàng)建向?qū)?,可以以使用戶戶以此為為基礎(chǔ),快速創(chuàng)創(chuàng)建ARRM和TThummb工程程。盡管大多多數(shù)的AARM工工具鏈已已經(jīng)集成成在CoodeWWarrriorr IDDE,但但是仍有有許多功功能在該該集成環(huán)環(huán)境中沒沒有實現(xiàn)現(xiàn),這些些功能大大多數(shù)是是和調(diào)試試相關(guān)的的,因為為ARMM的調(diào)試試器沒有有集成到到CoddeWaarriior IDEE中。由于ARRM調(diào)試試器(AAXD)沒有集集成在CCodeeWarrrioor IIDE中中,這就就意味著著,用戶戶不能在在CoddeWaarriior IDEE中進行行斷點調(diào)調(diào)試和查查看變量量。2、ADDS調(diào)試試器這里所說說的調(diào)

39、試試器本身身是一個個軟件,用戶通通過這個個軟件并并配合調(diào)調(diào)試代理理(deebugg aggentt)可以以對包含含有調(diào)試試信息的的,正在在運行的的可執(zhí)行行代碼進進行比如如變量的的查看,斷點的的控制等等調(diào)試操操作。調(diào)試代理理執(zhí)行調(diào)調(diào)試器發(fā)發(fā)出的命命令,如如:設(shè)置置斷點,單步運運行,從從存儲器器中讀數(shù)數(shù)據(jù),把把數(shù)據(jù)寫寫到存儲儲器等。調(diào)試代代理既不不是被調(diào)調(diào)試的程程序,也也不是調(diào)調(diào)試器。在ARRM體系系中,它它可能是是下面幾幾種情況況中的一一個:1)在線線實時仿仿真器在線實時時仿真器器通過JJTAGG端口與與目標機機進行連連接,可可以實現(xiàn)現(xiàn)對ARRM處理理器的在在線、實實時調(diào)試試,且不不占用系系統(tǒng)資

40、源源。Multti-IICE(Mullti-proocesssorr inn-ciircuuit emuulattor)是ARRM公司司自己的的JTAAG在線線實時仿仿真器。它支持持全系列列的ARRM核,通過并并口與PPC機連連接,數(shù)數(shù)據(jù)接口口為8位位。Muultii-ICCE內(nèi)部部采用FFPGAA實現(xiàn)并并口到JJTAGG的協(xié)議議轉(zhuǎn)換,速度很很快,下下載速度度可在1120kkBytte/ss左右。本章下節(jié)節(jié)將要提提到的AADT 10000A仿仿真器也也是一種種在線實實時仿真真器。2)ARRMullatoorARMuulattor即即軟件模模擬器,它獨立立于處理理器硬件件,是一一種有效效的源程程

41、序檢驗驗和測試試工具。但是,模擬器器畢竟只只是以一一種處理理器模擬擬另一種種處理器器的運行行,在指指令執(zhí)行行時間、中斷響響應、定定時器等等方面與與實際處處理器有有相對大大的差別別。3)AnngellAngeel為一一個運行行于目標標機上的的監(jiān)控程程序,它它在調(diào)試試器和目目標板之之間通過過一定的的通信方方式,如如:串口口通信,為用戶戶提供各各種調(diào)試試功能。這種方方式需要要占用目目標機系系統(tǒng)資源源,如串串口、RROM、RAMM等。ADS中中包含有有3個調(diào)調(diào)試器:1)AXXD(AARM eXttendded Debbuggger):ARRM擴展展調(diào)試器器;2)arrmsdd(ARRM SSymbbo

42、liic DDebuuggeer):ARMM符號調(diào)調(diào)試器;3)與老老版本兼兼容的WWinddowss或Unnix下下的ARRM調(diào)試試工具,ADWW/ADDU(AAppllicaatioon DDebuuggeer WWinddowss/Unnix)。4.3.4 實實用程序序此外,AADS還還提供了了許多實實用工具具,下面面簡單的的介紹開開發(fā)中經(jīng)經(jīng)常用到到的程序序:1、frromEELF這是ARRM映像像文件轉(zhuǎn)轉(zhuǎn)換工具具。該命命令將EELF格格式的文文件作為為輸入文文件,將將該格式式轉(zhuǎn)換為為各種輸輸出格式式的文件件,包括括plaain binnaryy(BIIN格式式映像文文件), Mootor

43、rolaa 322-biit SS-reecorrd fformmat(Mottoroola 32位位S格式式映像文文件), Inntell Heex 332 fformmat(Inttel 32位位格式映映像文件件),和和 Veerillog-likke hhex forrmatt(Veerillog 16進進制文件件)。FFrommELFF命令也也能夠為為輸入映映像文件件產(chǎn)生文文本信息息,例如如代碼和和數(shù)據(jù)長長度。2、arrmarrARM庫庫函數(shù)生生成器將將一系列列ELFF格式的的目標文文件以庫庫函數(shù)的的形式集集合在一一起,用用戶可以以把一個個庫傳遞遞給一個個鏈接器器以代替替幾個EELF文

44、文件。3、Fllashh doownlloadder用于把二二進制映映像文件件下載到到ARMM開發(fā)板板上的FFlassh存儲儲器的工工具4.3.5 支持的的軟件ADS為為用戶提提供下面面的軟件件,使用用戶可以以在軟件件仿真的的環(huán)境下下或者在在基于AARM的的硬件環(huán)環(huán)境調(diào)試試用戶應應用程序序。ARMuulattor這是一個個ARMM指令集集仿真器器,集成成在ARRM的調(diào)調(diào)試器AAXD中中,它提提供對AARM處處理器的的指令集集的仿真真,為AARM和和Thuumb提提供精確確的模擬擬。用戶戶可以在在硬件尚尚未做好好的情況況下,開開發(fā)程序序代碼。4.4 ADTT IDDE簡介介4.4.1 AADT

45、IDEE集成開開發(fā)環(huán)境境1 AADT IDEE簡介ADT IDEE是一套套應用于于嵌入式式軟件開開發(fā)的新新一代集集成開發(fā)發(fā)環(huán)境,它提供供高效、清晰、可視化化的嵌入入式軟件件開發(fā)平平臺,包包括一整整套完備備的面向向嵌入式式系統(tǒng)的的開發(fā)和和調(diào)試工工具:編編輯器、編譯器器、鏈接接器、工工程管理理器以及及調(diào)試器器等。AADT IDEE運行于于Winndowws NNT、995、998、220000及XPP,采用用類Viisuaal SStdiio界面面風格,其界面面如圖44-2所所示。圖4-22 ADDT IIDE集集成開發(fā)發(fā)環(huán)境軟軟件界面面圖2. AADT IDEE主要特特性 中文文、英文文版本支支

46、持 操作作系統(tǒng)支支持 支持持Vxwworkks,uuCLiinuxx,Liinuxx,Nuucleeus等等操作系系統(tǒng)的開開發(fā)和調(diào)調(diào)試。 可視視化的源源碼編輯輯和工程程管理功功能: 界面面友好,使用方方便:類類似MSS Viisuaal SStuddio的的用戶界界面,支支持打印印功能,支持文文件內(nèi)查查找功能能和Fiind in Filles功功能。 工程程管理器器:ADDT IIDE提提供圖形形化的工工程管理理工具,以prrojeect為為單位為為用戶提提供應用用源程序序的文件件組織和和管理,管理用用戶的應應用程序序,編譯譯鏈接選選項以及及調(diào)試參參數(shù)等。 源碼碼編輯器器:支持持標準的的文本編

47、編輯功能能,支持持C語言言、匯編編語言語語法高亮亮顯示。 輔助助編輯工工具:提提供多剪剪貼板工工具、代代碼模板板工具、頭文件件和源文文件切換換工具、注釋工工具、符符號配對對書寫工工具等多多種輔助助編輯工工具。 交叉叉編譯功功能: 支持持開發(fā)語語言:AANSII C;Embbeddded C+;匯編編語言。 編譯譯工具:使用著著名優(yōu)秀秀自由軟軟件GNNU的GGCC交交叉編譯譯工具,并經(jīng)過過優(yōu)化和和嚴格測測試,支支持C語語言、匯匯編語言言等。 編譯譯參數(shù)設(shè)設(shè)置:完完全圖形形界面方方式的編編譯參數(shù)數(shù)設(shè)置,提供可可視化的的設(shè)置功功能。支支持工程程級/文文件目錄錄級/文文件級編編譯參數(shù)數(shù)設(shè)置。 強大大的源代代碼級調(diào)調(diào)試功能能: 圖形形和命令令行兩種種調(diào)試方方式。 斷點點功能:支持軟軟件斷點點和硬件件斷點,實現(xiàn)斷斷點設(shè)置置、斷點點屏蔽、斷點取取消、斷斷點列表表。 程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論