




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第13章使用CodeWarrior在前面已經介紹過ARM各開發工具的命令行格式。CodeWarriorforARM集成了這些開發工具,使其更直觀,使用更方便。本章簡單介紹CodeWarriorforARM的使用方法。主要介紹在CodeWarrior中工程文件的組織方法以及生成映像文件時的選項設置方法。113.1CodeWarriorforADS概述CodeWarriorforADS集成開發環境主要提供了下面一些功能。在本章中主要介紹前面的兩各功能。本節介紹一些基本概念。按照工程項目的方式來組織源代碼文件、庫文件以及其他文件。設置各種生成選項,以生成不同配置的映像文件。一個源代碼編輯器。該編輯器可以根據語言的語法格式使用不同的顏色顯示代碼中不同的部分。一個源代碼瀏覽器。它保存了代碼中定義的各種符號,使得用戶可以在源代碼中方便地跳轉。在文本文件中進行字符串地搜索和替換。文本文件比較功能。用戶還可以根據自己的愛好設置集成環境的特色界面。213.2簡單工程項目的使用在CodeWarrior中通過工程項目來組織用戶的源文件、庫文件、頭文件以及其他的輸入文件。這些文件可以按照某種邏輯關系進行分組;一個工程項目中還可以包含其他的子工程項目。一個工程項目中至少包含一個生成目標,每個生成目標定義了一組選項,用于生成特定的目標文件。本節介紹CodeWarrior中工程項目的用法。313.2.1工程項目窗口工程項目窗口如圖13.1所示。它包括Files視圖、LinkOrder視圖和Targets視圖3種視圖。413.2.1工程項目窗口1.Files視圖2.LinkOrder視圖3.Target視圖513.2.2簡單工程項目的使用本小節介紹簡單的工程項目的使用方法。對于復雜的工程項目,比如包含子工程項目的工程項目,在后面介紹。1.建立一個新的工程項目2.建立一個新的源文件3.將已經存在的源文件加入到工程項目中4.將工程項目中的文件分組5.刪除文件或者組6.保存工程項目7.關閉工程項目8.選擇默認工程項目9.移動工程項目613.3配置生成目標一個工程項目中可以包含多個生成目標。各生成目標具有不同的生成選項,這些選項包括編譯器選項、匯編器選項和連接器選項等,它們決定了CodeWarriorIDE如何處理本工程項目,以生成特定的輸出文件。本節介紹在ADS中如何配置各生成選項。713.3.1DebugSettings對話框介紹在ADS中通過DebugSettings對話框來設置一個工程項目中的各生成目標的生成選項。在TargetSettings窗口中設置的各生成選項只適用于當前的生成目標。例如,當使用ADS中的可執行映像文件工程項目模板生成新的工程項目時,新工程項目中通常包括下面3個生成目標:Debug包含了所有調試信息。DebugRel包含了部分調試信息。Release不包含調試信息。813.3.2設置生成目標的基本選項生成目標基本選項用于設置當前生成目標的一些基本信息,包括生成目標的名稱、所使用的連接器等。它包括下面幾組選項。下面分別介紹其含義與設置方法。1.設置TargetSettings選項組2.設置AccessPaths選項組3.設置BuildExtras選項組4.設置FileMappings選項組5.設置SourceTrees選項組913.3.3匯編器選項設置打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇LanguageSettings選項,再在其下選擇ARMAssembler選項,即可得到匯編器選項設置對話框,如圖13.19所示。在該設置對話框中包含一個選項卡,該選項卡包括下面6個選項卡,分別是Target、ATPCS、Options、Predefines、ListingControl和Extras選項卡。1013.3.3匯編器選項設置在每個選項卡中,EquivalentCommandLine列表框中列出了當前匯編器選項設置的命令行格式。有一些匯編器選項設置沒有提供圖形界面,需要使用命令行格式來設置。1.Target選項卡2.ATPCS選項卡3.Options選項卡4.Predefines選項卡5.ListingControl選項卡6.Extras選項卡1113.3.4編譯器的選項設置本節介紹CodeWarriorIDE中內嵌的編譯器的選項設置。打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇LanguageSettings項下ARMCCompiler選項,即可得到ARMC語言編譯器armcc的選項設置對話框,如圖13.24所示。1213.3.4編譯器的選項設置本節介紹的各編譯器選項對于下面這幾種編譯器來說是相同的。其設置方法與ARMC語言編譯器armcc是一樣的。1.TargetandSource選項卡2.ATPCS選項卡3.Warnings選項卡4.Errors選項卡5.DebugandOptimization選項卡6.Preprocessor選項卡7.CodeGeneration選項卡8.Extras選項卡1313.3.5連接器的選項設置本節介紹CodeWarriorIDE中內嵌的連接器的選項設置。打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇Linker選項,再在其下選擇Linker,即可得到連接器的選項設置對話框,如圖13.32所示。1413.3.5連接器的選項設置在每個選項卡中,EquivalentCommandLine文本框中列出了當前連接器選項設置的命令行格式。有一些連接器選項設置沒有提供圖形界面,需要使用命令行格式來設置。1.Output選項卡2.Options選項卡3.Layout選項卡4.Listings選項卡5.Extras選項卡中選項設置1513.3.6fromELF工具的選項設置本節介紹CodeWarriorIDE中工具fromELF的選項設置。打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇Linker選項,再在其下選擇ARMfromELF選項,如圖13.39所示。1613.4復雜工程項目的使用復雜工程項目是指包括多個生成目標或包含子工程項目的工程項目。在使用復雜工程項目需要考慮下面幾個問題。工程項目的結構一個工程項目中生成目標的數量包含經過充分測試的代碼包含密切相關的代碼對于代碼的存取方式1713.4.1建立一個新的生成目標可以在工程項目窗口的Target視圖建立一個新的生成目標。具體的操作步驟如下:(1)打開前面建立的工程項目示例example.mcp。(2)在工程項目窗口中選擇Target視圖。(3)選擇Project|CreateNewTarget命令,CodeWarriorIDE彈出NewTarget對話框,如圖13.40所示。(4)在Namefornewtarget文本框中輸入新生成目標的名稱。這里輸入“semihosted”。(5)選擇新的生成目標的類型(6)單擊OK按鈕,生成一個新的生成目標。(7)根據具體需要,設置新的生成目標。1813.4.1建立一個新的生成目標使用工程項目窗口中Files視圖向生成目標中添加文件的操作步驟如下:(1) 打開前面建立的工程項目示例example.mcp。(2) 在工程項目窗口中選擇Files視圖,如圖13.41所示。(3) 確保希望添加文件的生成目標是當前活動的生成目標。(4) Target欄,對應位置將在符號“●”和空之間切換。 1913.4.1建立一個新的生成目標使用ProjectInspector對話框向生成目標中添加文件的操作步驟如下:(1) 打開前面建立的工程項目示例example.mcp。(2) 在工程項目窗口中選擇需要加入某生成目標的文件。(3) 選擇Windows|ProjectInspector命令,彈出ProjectInspector對話框。(4) 打開Targets選項卡,其中顯示了本工程項目中的所有生成目標,如圖13.42所示。(5) 選中相應的復選框,將本文件加入到該生成目標中。(6) 單擊Revert按鈕放棄所作的修改;單擊Save按鈕保存所作的修改。2013.4.2將一個生成目標更名修改一個生成目標的名稱的操作步驟如下:(1) 打開前面建立的工程項目示例example.mcp。(2) 在工程項目窗口中選擇Targets視圖。(3) 雙擊想要更名的生成目標,這里雙擊semihosted,CodeWarriorIDE彈出semihostedSettings對話框,如圖13.43所示。(4) 在semihostedSettings對話框中選擇TargetSettings面板。在TargetName文本框中輸入新的生成目標名稱。(5) 單擊Save按鈕,保存所作的修改。2113.4.3建立生成目標之間的依賴關系在CodeWarriorIDE中,工程項目生成命令Make僅處理當前活動的工程項目,CodeWarriorIDE中沒有提供一個類似于BuildAll的命令來處理一個工程項目中的所有生成目標。在本小節中,建立一個沒有實際意義的空生成目標dummy,然后將其他所有的生成目標加入到生成目標dummy中,這樣在生成dummy時,所有的生成目標都將被處理。具體操作步驟如下:(1) 打開前面建立的工程項目示例example.mcp。(2) 建立一個新的空類型的生成目標dummy,操作步驟在13.4.1小節已經詳細介紹。(3) 建立dummy生成目標對Debug生成目標的依賴關系,具體地操作步驟是在工程項目窗口的target視圖中,將Debug生成目標拖放到dummy生成目標的右下方。按照同樣的方法,建立dummy生成目標對DebugRel生成目標和Release生成目標的依賴關系。2213.4.3建立生成目標之間的依賴關系(4) 單擊dummy生成目標左邊的“+”,展開該生成目標,可以看到它所依賴的各生成目標,這些被依賴的生成目標以斜體字方式顯示。(5) 當使用Make命令處理dummy生成目標時,工程項目中所有3個生成目標都將被處理,達到了BuildAll命令操作的效果。(6) 注意在本例中,各生成目標的輸出文件之間并不進行連接。如圖13.45所示。2313.4.4子工程項目的使用CodeWarriorIDE可以在一個工程項目中包含另外一個獨立的工程項目,被包含的工程項目稱為子工程項目。使用子工程項目包括下面3個步驟:將一個子工程項目加入到主工程項目的一個或者多個生成目標中。指定主工程項目被CodeWarriorIDE處理時,它所包含的子工程項目中的哪些生成目標需被處理。默認情況下,子工程項目的所有生成目標都不會被處理。指定子工程項目的那些生成目標的輸出文件需要和主工程項目的輸出文件進行連接。默認情況下,所有生成目標的輸出文件都不需要和主工程項目的輸出文件進行連接。2413.5工程項目模板工程項目模板是一些最小的工程項目,它可以作為模板用來快速、簡單地生成其他具有同樣特點的工程項目。工程項目模板中包含下面的信息:預先定義的生成目標的各種選項。預先定義的生成目標、子工程以及工程之間的相互依賴關系。一些特定種類的文件。當用戶使用一個工程項目模板建立一個工程項目時,CodeWarriorIDE將與該工程項目模板相關的文件復制到新建的工程項目所在的目錄中。用戶在此基礎之上建立自己的工程項目。2513.5.1ADS中工程項目模板的使用ADS中的工程項目模板默認放在路徑c:\programfiles\arm\adsv1_1\stationery中。ADS中提供的工程項目模板包括:ARMExecutableImageARM可執行映像文件模板。ARMObjectLibraryARM目標文件庫模板。EmptyProject空工程項目模板。MakefileImporterWizardMakefile導入向導模板。ARMThumbInterworkingImageARM/Thumb混合使用的映像文件模板。ThumbExecutableImageThumb可執行映像文件模板。ThumbObjectLibraryThumb目標文件庫模板。2613.5.1ADS中工程項目模板的使用這些工程項目模板都使用以下設置:默認的目標系統設置,如ARM7TDMIlittle-endian等。編譯器和匯編器使用默認的ATPCS選項。包括3個生成目標:Debug、DebugRel以及Release。1.ADS中預定義的主要工程項目模板2.ARM/Thumb混合使用的映像文件模板的使用3.將一個ARM工程項目轉換成一個Thumb工程項目2713.5.2建立用戶工程項目模板在CodeWarriorIDE中,作為工程項目模板的特殊的工程項目具有一下兩個特點:該工程項目位于CodeWarriorIDE的工程目標模板目錄中。默認情況下為c:\programfiles\ARM\ADSv1_1\stationery。該工程項目中包含的文件與該工程項目保存在一起。用戶可以建立自己的工程項目模板。然后使用該工程項目模板,CodeWarriorIDE會將與該工程項目模板相關的文件復制到新建立的工程項目的路徑中。2813.5.2建立用戶工程項目模板建立用戶自己的工程項目模板的操作步驟如下:(1)使用ADS中預定義的工程項目模板建立一個新的工程項目,或者建立一個空的工程項目。(2)選擇F
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國FM自動選臺收音機望遠鏡數據監測研究報告
- 2025年中國BOPP鍍鋁膜數據監測研究報告
- 2025年中國2、5-二甲基苯胺數據監測報告
- 2025至2030年中國集中操作式電梯井筒模市場分析及競爭策略研究報告
- 2025至2030年中國鋁合金吸頂燈市場分析及競爭策略研究報告
- 2025至2030年中國茴香粉市場分析及競爭策略研究報告
- 2025至2030年中國砼攪拌站市場分析及競爭策略研究報告
- 2025至2030年中國電力控制開關柜市場分析及競爭策略研究報告
- 2025至2030年中國深溝外球面球軸承市場分析及競爭策略研究報告
- 2025至2030年中國汽車儲液器支架市場分析及競爭策略研究報告
- CLSI EP25-A 穩定性考察研究
- SJG 44-2018 深圳市公共建筑節能設計規范-高清現行
- 職工子女暑期工會愛心托管班的方案通知
- (5年高職)客戶服務實務(第二版)教學課件全套電子教案匯總整本書課件最全教學教程完整版教案(最新)
- 精品中文版b4a新手指南第4章開發環境
- 兒科患兒及家屬的溝通技巧
- 光纜線路的故障分析及障礙搶修
- 童聲合唱訓練講座
- (防火閥)檢驗報告
- 輸變電工程建設管理程序指南(共61頁)
- 《屏蔽泵培訓講義》
評論
0/150
提交評論