版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第13章使用CodeWarrior在前面已經(jīng)介紹過ARM各開發(fā)工具的命令行格式。CodeWarriorforARM集成了這些開發(fā)工具,使其更直觀,使用更方便。本章簡單介紹CodeWarriorforARM的使用方法。主要介紹在CodeWarrior中工程文件的組織方法以及生成映像文件時的選項(xiàng)設(shè)置方法。113.1CodeWarriorforADS概述CodeWarriorforADS集成開發(fā)環(huán)境主要提供了下面一些功能。在本章中主要介紹前面的兩各功能。本節(jié)介紹一些基本概念。按照工程項(xiàng)目的方式來組織源代碼文件、庫文件以及其他文件。設(shè)置各種生成選項(xiàng),以生成不同配置的映像文件。一個源代碼編輯器。該編輯器可以根據(jù)語言的語法格式使用不同的顏色顯示代碼中不同的部分。一個源代碼瀏覽器。它保存了代碼中定義的各種符號,使得用戶可以在源代碼中方便地跳轉(zhuǎn)。在文本文件中進(jìn)行字符串地搜索和替換。文本文件比較功能。用戶還可以根據(jù)自己的愛好設(shè)置集成環(huán)境的特色界面。213.2簡單工程項(xiàng)目的使用在CodeWarrior中通過工程項(xiàng)目來組織用戶的源文件、庫文件、頭文件以及其他的輸入文件。這些文件可以按照某種邏輯關(guān)系進(jìn)行分組;一個工程項(xiàng)目中還可以包含其他的子工程項(xiàng)目。一個工程項(xiàng)目中至少包含一個生成目標(biāo),每個生成目標(biāo)定義了一組選項(xiàng),用于生成特定的目標(biāo)文件。本節(jié)介紹CodeWarrior中工程項(xiàng)目的用法。313.2.1工程項(xiàng)目窗口工程項(xiàng)目窗口如圖13.1所示。它包括Files視圖、LinkOrder視圖和Targets視圖3種視圖。413.2.1工程項(xiàng)目窗口1.Files視圖2.LinkOrder視圖3.Target視圖513.2.2簡單工程項(xiàng)目的使用本小節(jié)介紹簡單的工程項(xiàng)目的使用方法。對于復(fù)雜的工程項(xiàng)目,比如包含子工程項(xiàng)目的工程項(xiàng)目,在后面介紹。1.建立一個新的工程項(xiàng)目2.建立一個新的源文件3.將已經(jīng)存在的源文件加入到工程項(xiàng)目中4.將工程項(xiàng)目中的文件分組5.刪除文件或者組6.保存工程項(xiàng)目7.關(guān)閉工程項(xiàng)目8.選擇默認(rèn)工程項(xiàng)目9.移動工程項(xiàng)目613.3配置生成目標(biāo)一個工程項(xiàng)目中可以包含多個生成目標(biāo)。各生成目標(biāo)具有不同的生成選項(xiàng),這些選項(xiàng)包括編譯器選項(xiàng)、匯編器選項(xiàng)和連接器選項(xiàng)等,它們決定了CodeWarriorIDE如何處理本工程項(xiàng)目,以生成特定的輸出文件。本節(jié)介紹在ADS中如何配置各生成選項(xiàng)。713.3.1DebugSettings對話框介紹在ADS中通過DebugSettings對話框來設(shè)置一個工程項(xiàng)目中的各生成目標(biāo)的生成選項(xiàng)。在TargetSettings窗口中設(shè)置的各生成選項(xiàng)只適用于當(dāng)前的生成目標(biāo)。例如,當(dāng)使用ADS中的可執(zhí)行映像文件工程項(xiàng)目模板生成新的工程項(xiàng)目時,新工程項(xiàng)目中通常包括下面3個生成目標(biāo):Debug包含了所有調(diào)試信息。DebugRel包含了部分調(diào)試信息。Release不包含調(diào)試信息。813.3.2設(shè)置生成目標(biāo)的基本選項(xiàng)生成目標(biāo)基本選項(xiàng)用于設(shè)置當(dāng)前生成目標(biāo)的一些基本信息,包括生成目標(biāo)的名稱、所使用的連接器等。它包括下面幾組選項(xiàng)。下面分別介紹其含義與設(shè)置方法。1.設(shè)置TargetSettings選項(xiàng)組2.設(shè)置AccessPaths選項(xiàng)組3.設(shè)置BuildExtras選項(xiàng)組4.設(shè)置FileMappings選項(xiàng)組5.設(shè)置SourceTrees選項(xiàng)組913.3.3匯編器選項(xiàng)設(shè)置打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇LanguageSettings選項(xiàng),再在其下選擇ARMAssembler選項(xiàng),即可得到匯編器選項(xiàng)設(shè)置對話框,如圖13.19所示。在該設(shè)置對話框中包含一個選項(xiàng)卡,該選項(xiàng)卡包括下面6個選項(xiàng)卡,分別是Target、ATPCS、Options、Predefines、ListingControl和Extras選項(xiàng)卡。1013.3.3匯編器選項(xiàng)設(shè)置在每個選項(xiàng)卡中,EquivalentCommandLine列表框中列出了當(dāng)前匯編器選項(xiàng)設(shè)置的命令行格式。有一些匯編器選項(xiàng)設(shè)置沒有提供圖形界面,需要使用命令行格式來設(shè)置。1.Target選項(xiàng)卡2.ATPCS選項(xiàng)卡3.Options選項(xiàng)卡4.Predefines選項(xiàng)卡5.ListingControl選項(xiàng)卡6.Extras選項(xiàng)卡1113.3.4編譯器的選項(xiàng)設(shè)置本節(jié)介紹CodeWarriorIDE中內(nèi)嵌的編譯器的選項(xiàng)設(shè)置。打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇LanguageSettings項(xiàng)下ARMCCompiler選項(xiàng),即可得到ARMC語言編譯器armcc的選項(xiàng)設(shè)置對話框,如圖13.24所示。1213.3.4編譯器的選項(xiàng)設(shè)置本節(jié)介紹的各編譯器選項(xiàng)對于下面這幾種編譯器來說是相同的。其設(shè)置方法與ARMC語言編譯器armcc是一樣的。1.TargetandSource選項(xiàng)卡2.ATPCS選項(xiàng)卡3.Warnings選項(xiàng)卡4.Errors選項(xiàng)卡5.DebugandOptimization選項(xiàng)卡6.Preprocessor選項(xiàng)卡7.CodeGeneration選項(xiàng)卡8.Extras選項(xiàng)卡1313.3.5連接器的選項(xiàng)設(shè)置本節(jié)介紹CodeWarriorIDE中內(nèi)嵌的連接器的選項(xiàng)設(shè)置。打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇Linker選項(xiàng),再在其下選擇Linker,即可得到連接器的選項(xiàng)設(shè)置對話框,如圖13.32所示。1413.3.5連接器的選項(xiàng)設(shè)置在每個選項(xiàng)卡中,EquivalentCommandLine文本框中列出了當(dāng)前連接器選項(xiàng)設(shè)置的命令行格式。有一些連接器選項(xiàng)設(shè)置沒有提供圖形界面,需要使用命令行格式來設(shè)置。1.Output選項(xiàng)卡2.Options選項(xiàng)卡3.Layout選項(xiàng)卡4.Listings選項(xiàng)卡5.Extras選項(xiàng)卡中選項(xiàng)設(shè)置1513.3.6fromELF工具的選項(xiàng)設(shè)置本節(jié)介紹CodeWarriorIDE中工具fromELF的選項(xiàng)設(shè)置。打開TargetSettings對話框,在左邊TargetSettingsPanels列表框中選擇Linker選項(xiàng),再在其下選擇ARMfromELF選項(xiàng),如圖13.39所示。1613.4復(fù)雜工程項(xiàng)目的使用復(fù)雜工程項(xiàng)目是指包括多個生成目標(biāo)或包含子工程項(xiàng)目的工程項(xiàng)目。在使用復(fù)雜工程項(xiàng)目需要考慮下面幾個問題。工程項(xiàng)目的結(jié)構(gòu)一個工程項(xiàng)目中生成目標(biāo)的數(shù)量包含經(jīng)過充分測試的代碼包含密切相關(guān)的代碼對于代碼的存取方式1713.4.1建立一個新的生成目標(biāo)可以在工程項(xiàng)目窗口的Target視圖建立一個新的生成目標(biāo)。具體的操作步驟如下:(1)打開前面建立的工程項(xiàng)目示例example.mcp。(2)在工程項(xiàng)目窗口中選擇Target視圖。(3)選擇Project|CreateNewTarget命令,CodeWarriorIDE彈出NewTarget對話框,如圖13.40所示。(4)在Namefornewtarget文本框中輸入新生成目標(biāo)的名稱。這里輸入“semihosted”。(5)選擇新的生成目標(biāo)的類型(6)單擊OK按鈕,生成一個新的生成目標(biāo)。(7)根據(jù)具體需要,設(shè)置新的生成目標(biāo)。1813.4.1建立一個新的生成目標(biāo)使用工程項(xiàng)目窗口中Files視圖向生成目標(biāo)中添加文件的操作步驟如下:(1) 打開前面建立的工程項(xiàng)目示例example.mcp。(2) 在工程項(xiàng)目窗口中選擇Files視圖,如圖13.41所示。(3) 確保希望添加文件的生成目標(biāo)是當(dāng)前活動的生成目標(biāo)。(4) Target欄,對應(yīng)位置將在符號“●”和空之間切換。 1913.4.1建立一個新的生成目標(biāo)使用ProjectInspector對話框向生成目標(biāo)中添加文件的操作步驟如下:(1) 打開前面建立的工程項(xiàng)目示例example.mcp。(2) 在工程項(xiàng)目窗口中選擇需要加入某生成目標(biāo)的文件。(3) 選擇Windows|ProjectInspector命令,彈出ProjectInspector對話框。(4) 打開Targets選項(xiàng)卡,其中顯示了本工程項(xiàng)目中的所有生成目標(biāo),如圖13.42所示。(5) 選中相應(yīng)的復(fù)選框,將本文件加入到該生成目標(biāo)中。(6) 單擊Revert按鈕放棄所作的修改;單擊Save按鈕保存所作的修改。2013.4.2將一個生成目標(biāo)更名修改一個生成目標(biāo)的名稱的操作步驟如下:(1) 打開前面建立的工程項(xiàng)目示例example.mcp。(2) 在工程項(xiàng)目窗口中選擇Targets視圖。(3) 雙擊想要更名的生成目標(biāo),這里雙擊semihosted,CodeWarriorIDE彈出semihostedSettings對話框,如圖13.43所示。(4) 在semihostedSettings對話框中選擇TargetSettings面板。在TargetName文本框中輸入新的生成目標(biāo)名稱。(5) 單擊Save按鈕,保存所作的修改。2113.4.3建立生成目標(biāo)之間的依賴關(guān)系在CodeWarriorIDE中,工程項(xiàng)目生成命令Make僅處理當(dāng)前活動的工程項(xiàng)目,CodeWarriorIDE中沒有提供一個類似于BuildAll的命令來處理一個工程項(xiàng)目中的所有生成目標(biāo)。在本小節(jié)中,建立一個沒有實(shí)際意義的空生成目標(biāo)dummy,然后將其他所有的生成目標(biāo)加入到生成目標(biāo)dummy中,這樣在生成dummy時,所有的生成目標(biāo)都將被處理。具體操作步驟如下:(1) 打開前面建立的工程項(xiàng)目示例example.mcp。(2) 建立一個新的空類型的生成目標(biāo)dummy,操作步驟在13.4.1小節(jié)已經(jīng)詳細(xì)介紹。(3) 建立dummy生成目標(biāo)對Debug生成目標(biāo)的依賴關(guān)系,具體地操作步驟是在工程項(xiàng)目窗口的target視圖中,將Debug生成目標(biāo)拖放到dummy生成目標(biāo)的右下方。按照同樣的方法,建立dummy生成目標(biāo)對DebugRel生成目標(biāo)和Release生成目標(biāo)的依賴關(guān)系。2213.4.3建立生成目標(biāo)之間的依賴關(guān)系(4) 單擊dummy生成目標(biāo)左邊的“+”,展開該生成目標(biāo),可以看到它所依賴的各生成目標(biāo),這些被依賴的生成目標(biāo)以斜體字方式顯示。(5) 當(dāng)使用Make命令處理dummy生成目標(biāo)時,工程項(xiàng)目中所有3個生成目標(biāo)都將被處理,達(dá)到了BuildAll命令操作的效果。(6) 注意在本例中,各生成目標(biāo)的輸出文件之間并不進(jìn)行連接。如圖13.45所示。2313.4.4子工程項(xiàng)目的使用CodeWarriorIDE可以在一個工程項(xiàng)目中包含另外一個獨(dú)立的工程項(xiàng)目,被包含的工程項(xiàng)目稱為子工程項(xiàng)目。使用子工程項(xiàng)目包括下面3個步驟:將一個子工程項(xiàng)目加入到主工程項(xiàng)目的一個或者多個生成目標(biāo)中。指定主工程項(xiàng)目被CodeWarriorIDE處理時,它所包含的子工程項(xiàng)目中的哪些生成目標(biāo)需被處理。默認(rèn)情況下,子工程項(xiàng)目的所有生成目標(biāo)都不會被處理。指定子工程項(xiàng)目的那些生成目標(biāo)的輸出文件需要和主工程項(xiàng)目的輸出文件進(jìn)行連接。默認(rèn)情況下,所有生成目標(biāo)的輸出文件都不需要和主工程項(xiàng)目的輸出文件進(jìn)行連接。2413.5工程項(xiàng)目模板工程項(xiàng)目模板是一些最小的工程項(xiàng)目,它可以作為模板用來快速、簡單地生成其他具有同樣特點(diǎn)的工程項(xiàng)目。工程項(xiàng)目模板中包含下面的信息:預(yù)先定義的生成目標(biāo)的各種選項(xiàng)。預(yù)先定義的生成目標(biāo)、子工程以及工程之間的相互依賴關(guān)系。一些特定種類的文件。當(dāng)用戶使用一個工程項(xiàng)目模板建立一個工程項(xiàng)目時,CodeWarriorIDE將與該工程項(xiàng)目模板相關(guān)的文件復(fù)制到新建的工程項(xiàng)目所在的目錄中。用戶在此基礎(chǔ)之上建立自己的工程項(xiàng)目。2513.5.1ADS中工程項(xiàng)目模板的使用ADS中的工程項(xiàng)目模板默認(rèn)放在路徑c:\programfiles\arm\adsv1_1\stationery中。ADS中提供的工程項(xiàng)目模板包括:ARMExecutableImageARM可執(zhí)行映像文件模板。ARMObjectLibraryARM目標(biāo)文件庫模板。EmptyProject空工程項(xiàng)目模板。MakefileImporterWizardMakefile導(dǎo)入向?qū)0?。ARMThumbInterworkingImageARM/Thumb混合使用的映像文件模板。ThumbExecutableImageThumb可執(zhí)行映像文件模板。ThumbObjectLibraryThumb目標(biāo)文件庫模板。2613.5.1ADS中工程項(xiàng)目模板的使用這些工程項(xiàng)目模板都使用以下設(shè)置:默認(rèn)的目標(biāo)系統(tǒng)設(shè)置,如ARM7TDMIlittle-endian等。編譯器和匯編器使用默認(rèn)的ATPCS選項(xiàng)。包括3個生成目標(biāo):Debug、DebugRel以及Release。1.ADS中預(yù)定義的主要工程項(xiàng)目模板2.ARM/Thumb混合使用的映像文件模板的使用3.將一個ARM工程項(xiàng)目轉(zhuǎn)換成一個Thumb工程項(xiàng)目2713.5.2建立用戶工程項(xiàng)目模板在CodeWarriorIDE中,作為工程項(xiàng)目模板的特殊的工程項(xiàng)目具有一下兩個特點(diǎn):該工程項(xiàng)目位于CodeWarriorIDE的工程目標(biāo)模板目錄中。默認(rèn)情況下為c:\programfiles\ARM\ADSv1_1\stationery。該工程項(xiàng)目中包含的文件與該工程項(xiàng)目保存在一起。用戶可以建立自己的工程項(xiàng)目模板。然后使用該工程項(xiàng)目模板,CodeWarriorIDE會將與該工程項(xiàng)目模板相關(guān)的文件復(fù)制到新建立的工程項(xiàng)目的路徑中。2813.5.2建立用戶工程項(xiàng)目模板建立用戶自己的工程項(xiàng)目模板的操作步驟如下:(1)使用ADS中預(yù)定義的工程項(xiàng)目模板建立一個新的工程項(xiàng)目,或者建立一個空的工程項(xiàng)目。(2)選擇F
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年都市農(nóng)業(yè)綜合體運(yùn)營可行性研究報告
- 四川省2024年上半年四川蓬溪縣事業(yè)單位公開考試招聘工作人員(60人)筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 新華保險部門經(jīng)理崗位知識考試題集含答案
- 人事專員崗位說明與績效考核指引
- 財務(wù)分析考試題庫及答案解析
- 2025年新能源汽車回收利用體系可行性研究報告
- 2025年家庭醫(yī)療服務(wù)平臺建設(shè)項(xiàng)目可行性研究報告
- 2025年清潔能源管理平臺項(xiàng)目可行性研究報告
- 2025年內(nèi)容創(chuàng)作者收入分配平臺可行性研究報告
- 2025年古城保護(hù)與文化傳承項(xiàng)目可行性研究報告
- 工業(yè)區(qū)位因素及其變化高一地理人教版(2019)必修二
- 2022年5月CATTI英語三級口譯實(shí)務(wù)真題(最全回憶版)
- 畫法幾何知到章節(jié)答案智慧樹2023年浙江大學(xué)
- 少年宮剪紙社團(tuán)活動記錄
- 生命科學(xué)前沿技術(shù)智慧樹知到答案章節(jié)測試2023年蘇州大學(xué)
- GB/T 19867.1-2005電弧焊焊接工藝規(guī)程
- 外科護(hù)理學(xué)期末試卷3套18p
- 人員出車次數(shù)統(tǒng)計表
- 飛行區(qū)培訓(xùn)題庫
- 新蘇教版2022-2023六年級科學(xué)上冊《專項(xiàng)學(xué)習(xí):像工程師那樣》課件
- 幕墻裝飾施工組織設(shè)計
評論
0/150
提交評論