




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章 ADS集成開(kāi)發(fā)環(huán)境的使用計(jì)算機(jī)科學(xué)技術(shù)學(xué)院祝勇第五章 ADS集成開(kāi)發(fā)環(huán)境的使用5.1 裸機(jī)開(kāi)發(fā)環(huán)境5.2 ADS1.2開(kāi)發(fā)環(huán)境介紹5.3 GUI開(kāi)發(fā)環(huán)境5.4 AXD調(diào)試工具5.1 裸機(jī)開(kāi)發(fā)環(huán)境 何謂“裸機(jī)”? 裸機(jī)是指無(wú)操作系統(tǒng)下的ARM系統(tǒng)開(kāi)發(fā) 其特點(diǎn)是所有硬件資源均開(kāi)放 可以把它理解為一個(gè)高級(jí)單片機(jī)的開(kāi)發(fā) 裸機(jī)開(kāi)發(fā)的作用 更能深入地從底層去理解ARM CPU的操作過(guò)程及系統(tǒng)設(shè)計(jì) 為日后自行設(shè)計(jì)系統(tǒng)打下基礎(chǔ) 為bootloader的編寫(xiě)打好基礎(chǔ)開(kāi)發(fā)環(huán)境的作用ADS下嵌入式系統(tǒng)開(kāi)發(fā)模式 模擬方式 仿真方式 調(diào)試方式開(kāi)發(fā)環(huán)境 開(kāi)發(fā)軟件有: SDT(Software Developmen
2、t Toolkit)2.51 ADS(ARM Developer Suite)1.2 RealView 調(diào)試軟件有: AXD(ARM eXtended Debugger):ARM擴(kuò)展調(diào)試器;擴(kuò)展調(diào)試器; ARMSD(ARM Symbolic Debugger):ARM符號(hào)調(diào)試器; ADW/ADU(Application Debugger Windows/Unix):與老版本兼容的Windows或Unix下的ARM調(diào)試工具。5.2 ADS集成開(kāi)發(fā)環(huán)境 ARM公司推出的新一代ARM集成開(kāi)發(fā)工具 (相對(duì)于SDT) 全稱(chēng):Metrowerks CodeWarrior for ARM Developer
3、 Suite v1.2 ADS的CodeWarrior IDE基于Metrowerks CodeWarrior IDE 4.2版本 它經(jīng)過(guò)適當(dāng)?shù)牟眉粢灾С諥DS工具鏈ADS集成開(kāi)發(fā)環(huán)境組成 ADS的主要組成部件有: 命令行開(kāi)發(fā)工具 ARM運(yùn)行時(shí)庫(kù) GUI開(kāi)發(fā)環(huán)境(Code Warrior和AXD) 有了這些部件,用戶(hù)就可以為ARM系列的RISC處理器編寫(xiě)和調(diào)試自己的開(kāi)發(fā)應(yīng)用程序5.2.1命令行開(kāi)發(fā)工具 完成將源代碼編譯,鏈接成可執(zhí)行代碼的功能 類(lèi)似于8086匯編環(huán)境下的masm和link工具 命令行開(kāi)發(fā)工具需要記憶較多的命令參數(shù),但效率高;通常用集成開(kāi)發(fā)環(huán)境(IDE)代替 ADS提供下面的命令
4、行開(kāi)發(fā)工具: Armcc:ARM C編譯器 Armcpp: ARM C+編譯器 Armasm:ARM匯編編譯器 : Armlink:ARM連接器Armcc armcc用于將用ANSI C編寫(xiě)的程序編譯成32位ARM指令代碼 armcc最基本的用法為: armcc options file1 file2 . filen 這里的option是編譯器所需要的選項(xiàng),file1,file2filen是相關(guān)的文件名 舉例:armcc -c init.s led.s-c:表示只進(jìn)行編譯不鏈接文件; -C:(注意:這是大寫(xiě)的C)禁止預(yù)編譯器將注釋行移走;-D:定義預(yù)處理宏,相當(dāng)于在源程序開(kāi)頭使用了宏定義語(yǔ)句#
5、define symbol ,-E:僅僅是對(duì)C源代碼進(jìn)行預(yù)處理就停止;-g:指定是否在生成的目標(biāo)文件中包含調(diào)試信息表;-I:將directory所指的路徑添加到#include的搜索路徑列表中去;-o:指定編譯器最終生成的輸出文件名。-O0:不優(yōu)化;-O1:這是控制代碼優(yōu)化的編譯選項(xiàng),大寫(xiě)字母O后面跟的數(shù)字不同,表示的優(yōu)化級(jí)別就不同,-O1關(guān)閉了影響調(diào)試結(jié)果的優(yōu)化功能;-O2:該優(yōu)化級(jí)別提供了最大的優(yōu)化功能;-S:對(duì)源程序進(jìn)行預(yù)處理和編譯,自動(dòng)生成匯編文件而不是目標(biāo)文件;-U:取消預(yù)處理宏名,相當(dāng)于在源文件開(kāi)頭,使用語(yǔ)句#undef symbol;-W:關(guān)閉所有的或被選擇的警告信息;有關(guān)更詳細(xì)
6、的選項(xiàng)說(shuō)明,讀者可查看ADS軟件的在線(xiàn)幫助文件。armasm armasm是ARM和Thumb的匯編器 它對(duì)用ARM 匯編語(yǔ)言和Thumb 匯編語(yǔ)言寫(xiě)的源代碼進(jìn)行匯編5.2.2 ARM運(yùn)行時(shí)庫(kù) 運(yùn)行時(shí)庫(kù)就是 C run-time library 你的 C 程序運(yùn)行時(shí)需要這些庫(kù)中的函數(shù) C run-time library里面含有初始化代碼,還有錯(cuò)誤處理代碼(例如divide by zero處理) 如果沒(méi)有了C run-time庫(kù),main()就不會(huì)被調(diào)用,exit()也不能被響應(yīng)。因?yàn)镃 run-time library包含了C程序運(yùn)行的最基本和最常用的函數(shù)庫(kù)的作用 當(dāng)用戶(hù)對(duì)匯編程序,C程序或
7、C+程序進(jìn)行鏈接的時(shí)候,鏈接器會(huì)根據(jù)在建立時(shí)所指定的選項(xiàng),選擇適當(dāng)?shù)腃或C+運(yùn)行時(shí)庫(kù)的類(lèi)型 選項(xiàng)各種不同組合都有一個(gè)相應(yīng)的ANSI C庫(kù)類(lèi)型 ADS提供以下的運(yùn)行時(shí)庫(kù)來(lái)支持被編譯的C和C+代碼: ANSI C庫(kù)函數(shù): C+庫(kù)函數(shù):ANSI C庫(kù)函數(shù) 由以下幾部分組成: 在ISO C標(biāo)準(zhǔn)中定義的函數(shù); 在semihosted環(huán)境下用來(lái)實(shí)現(xiàn)C庫(kù)函數(shù)的與目標(biāo)相關(guān)的函數(shù); 被C和C+編譯器所調(diào)用的支持函數(shù)C+庫(kù)函數(shù) 由以下幾部分組成的: 版本為2.01.01的Rogue Wave Standard C+庫(kù); C+編譯器使用的支持函數(shù); Rogue Wave庫(kù)所不支持的其他的C+函數(shù)庫(kù)路徑結(jié)構(gòu) 庫(kù)路徑是
8、在ADS軟件安裝路徑的lib目錄下的兩個(gè)子目錄 假設(shè),ADS軟件安裝在e:armadsv1_2目錄,則在e:armadsv1_2lib目錄下的兩個(gè)子目錄armlib和cpplib是ARM的庫(kù)所在的路徑armlib這個(gè)子目錄包含了ARM C 庫(kù),浮點(diǎn)代數(shù)運(yùn)算庫(kù),數(shù)學(xué)庫(kù)等各類(lèi)庫(kù)函數(shù)ARM C庫(kù)函數(shù)是以二進(jìn)制格式提供的與這些庫(kù)相應(yīng)的頭文件在e:armadsv1_2include目錄中cpplib 這個(gè)子目錄包含了Rogue Wave C+庫(kù)和C+支持函數(shù)庫(kù) Rogue Wave C+庫(kù)和C+支持函數(shù)庫(kù)合在一起被稱(chēng)為ARM C+庫(kù) 與這些庫(kù)相應(yīng)的頭文件安裝在e:armadsv1_2include目錄下
9、5.3 GUI開(kāi)發(fā)環(huán)境 (Code Warrior和AXD) 5.3.1 Code WarriorCodeWarrior集成開(kāi)發(fā)環(huán)境(IDE)為管理和開(kāi)發(fā)項(xiàng)目提供了簡(jiǎn)單多樣化的圖形用戶(hù)界面用戶(hù)可以使用ADS的CodeWarrior IDE為ARM和Thumb處理器開(kāi)發(fā)用C,C+,或ARM匯編語(yǔ)言的程序代碼 全面的項(xiàng)目管理功能 CodeWarrior for ARM是一套完整的集成開(kāi)發(fā)工具,充分發(fā)揮了ARM RISC 的優(yōu)勢(shì) 在整個(gè)開(kāi)發(fā)周期中,開(kāi)發(fā)人員無(wú)需離開(kāi)CodeWarrior開(kāi)發(fā)環(huán)境,提高了效率 可以在CodeWarrior IDE為ARM配置以上所介紹的各種命令工具,實(shí)現(xiàn)對(duì)工程代碼的編譯
10、,匯編和鏈接功能特色 源代碼編輯器 集成在CodeWarrior IDE的瀏覽器中,能夠根據(jù)語(yǔ)法格式,使用不同的顏色顯示代碼; 源代碼瀏覽器 保存了在源碼中定義的所有符號(hào),能夠使用戶(hù)在源碼中快速方便的跳轉(zhuǎn); 查找和替換功能 用戶(hù)可以在多個(gè)文件中,利用字符串通配符,進(jìn)行字符串的搜索和替換; 文件比較功能 可以使用戶(hù)比較路徑中的不同文本文件的內(nèi)容實(shí)用程序 fromELF 這是ARM映像文件轉(zhuǎn)換工具 該命令將ELF格式的文件作為輸入文件,將該格式轉(zhuǎn)換為各種輸出格式的文件,包括plain binary(BIN格式映像文件), Motorola 32-bit S-record format(Motoro
11、la 32位S格式映像文件), Intel Hex 32 format(Intel 32位格式映像文件),和 Verilog-like hex format(Verilog 16進(jìn)制文件) armar ARM庫(kù)函數(shù)生成器將一系列ELF格式的目標(biāo)文件以庫(kù)函數(shù)的形式集合在一起,用戶(hù)可以把一個(gè)庫(kù)傳遞給一個(gè)鏈接器以代替幾個(gè)ELF文件。 與調(diào)試相關(guān)工具鏈在該集成環(huán)境中沒(méi)有實(shí)現(xiàn) 但與ARM調(diào)試器(AXD)能進(jìn)行無(wú)縫地連接調(diào)用基本概念target 在CodeWarrior IDE中所涉及到的target有兩種不同的語(yǔ)義 目標(biāo)系統(tǒng)(Target system) 特指代碼要運(yùn)行的環(huán)境,是基于ARM的硬件。比如,要為ARM開(kāi)發(fā)板上編寫(xiě)要運(yùn)行在它上面的程序,這個(gè)開(kāi)發(fā)板就是目標(biāo)系統(tǒng)。 生成目標(biāo)(Build target) 指用于生成特定的目標(biāo)文件的選項(xiàng)設(shè)置(包括匯編選項(xiàng),編譯選項(xiàng),鏈接選項(xiàng)以及鏈接后的處理選項(xiàng))和所用的文件的集合。5.4 AXD調(diào)試工具 在軟件開(kāi)發(fā)的最初階段,可能還沒(méi)有具體的硬件設(shè)備。如果要測(cè)試所開(kāi)發(fā)的軟件是否達(dá)到了預(yù)期的效果,這可以由軟件仿真來(lái)完成。 當(dāng)然,也可以搭建一個(gè)PCB板,這個(gè)板上可以包含一個(gè)或多個(gè)處理器,在這個(gè)板上可以運(yùn)行和調(diào)試應(yīng)用軟件。 只有當(dāng)通過(guò)硬件或者是軟件仿真所得到的結(jié)果達(dá)到了預(yù)期的效果,才算是完成
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年數(shù)字藝術(shù)作品版權(quán)保護(hù)與知識(shí)產(chǎn)權(quán)保護(hù)策略報(bào)告
- 2025年長(zhǎng)租公寓行業(yè)市場(chǎng)前景與盈利模式分析報(bào)告
- 2025年新能源汽車(chē)關(guān)鍵技術(shù)研發(fā)資金申請(qǐng)及市場(chǎng)前景分析報(bào)告
- 安全護(hù)理試題集及答案
- 2025年綠色建筑認(rèn)證體系在綠色酒店綠色建筑評(píng)價(jià)標(biāo)準(zhǔn)制定中的應(yīng)用與實(shí)踐報(bào)告001
- 金融領(lǐng)域AI倫理問(wèn)題與監(jiān)管政策創(chuàng)新研究報(bào)告
- 2025年能源互聯(lián)網(wǎng)分布式能源交易機(jī)制與能源互聯(lián)網(wǎng)市場(chǎng)潛力分析報(bào)告
- 中國(guó)南北飲食差異
- 周莊旅游攻略課件介紹
- 員工心態(tài)培訓(xùn)課件圖片
- 一個(gè)售樓處裝修報(bào)價(jià)清單
- 設(shè)備安裝與調(diào)試作業(yè)指導(dǎo)書(shū)
- 內(nèi)蒙古呼和浩特市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)人教版綜合練習(xí)(下學(xué)期)試卷及答案
- 建設(shè)工程項(xiàng)目成本管理制度
- 氣改電合同模板
- 2023-2024學(xué)年云南省曲靖市宣威市高二下學(xué)期7月期末考試物理試題(解析版)
- 無(wú)人機(jī)基礎(chǔ)知識(shí)問(wèn)答題庫(kù)100道及答案解析
- 裝修工程施工合同(合集15篇)
- 2023北京西城區(qū)初二期末(下)道法試卷及答案
- 殯儀服務(wù)員考試:殯儀服務(wù)員考試考試卷及答案
- 特種設(shè)備使用安全風(fēng)險(xiǎn)日管控、周排查、月調(diào)度管理制度
評(píng)論
0/150
提交評(píng)論