




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ARM 嵌入式系統(tǒng)第8章 ARM ADS集成開(kāi)發(fā)環(huán)境 第8章 ARMADS 集成開(kāi)發(fā)環(huán)境ARM開(kāi)發(fā)工具簡(jiǎn)介 ARM運(yùn)用軟件的開(kāi)發(fā)工具根據(jù)功能的不同,分別有編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、嵌入式實(shí)時(shí)操作系統(tǒng)、函數(shù)庫(kù)、評(píng)價(jià)板、JTAG仿真器、在線(xiàn)仿真器等,目前世界上約有四十多家公司提供以上不同類(lèi)別的產(chǎn)品。第8章 ARMADS 集成開(kāi)發(fā)環(huán)境常見(jiàn)的調(diào)試方法有以下幾種: 指令集模擬器駐留監(jiān)控軟件JTAG仿真器在線(xiàn)仿真器第8章 ARMADS 集成開(kāi)發(fā)環(huán)境ARM ADS的英文全稱(chēng)為ARM Developer Suite,是ARM公司推出的新一代ARM集成開(kāi)發(fā)工具,用來(lái)取代ARM公司以前推出的開(kāi)發(fā)工具
2、ARM SDT,目前ARM ADS的最新版本為1.2。ARM ADS支持一切ARM系列處置器,除了ARM SDT支持的運(yùn)轉(zhuǎn)操作系統(tǒng)外還可以在Windows2000/Me以及RedHat Linux上運(yùn)轉(zhuǎn)。第8章 ARMADS 集成開(kāi)發(fā)環(huán)境ARM ADS由六部分組成: 代碼生成工具CGT 集成開(kāi)發(fā)環(huán)境 CWI調(diào)試器 DebuggersAXD、Armsd指令集模擬器 ISSARM 開(kāi)發(fā)包 ARM Firmware SuiteARM 運(yùn)用庫(kù) ARM Applications Library其中重點(diǎn)引見(jiàn)一以下圖形界面開(kāi)發(fā)工具。 AXD 提供應(yīng)基于Windows 和UNIX 運(yùn)用的ARM 調(diào)試器。它提供
3、了一個(gè)完全的Windows 和UNIX環(huán)境來(lái)調(diào)試他的C, C+, 和匯編言語(yǔ)級(jí)的代碼。CodeWarrior IDE 提供基于Windows運(yùn)用的工程管理工具。它的運(yùn)用使源碼文件的管理和編譯工程變得非常方便。但CodeWarrior IDE 在UNIX下不能運(yùn)用。創(chuàng)建工程ADS中的CodeWarrior是集管理、編輯、編譯、鏈接于一體的集成開(kāi)發(fā)環(huán)境。用戶(hù)可以利用工程管理的思想組織工程開(kāi)發(fā)中的源文件、庫(kù)文件、頭文件和其他相關(guān)的輸入輸出文件。工程可以將一切的源碼文件有機(jī)地組織在一同,并決議最終生成文件存放的途徑,輸出的格式等。下面從最根本的工程創(chuàng)建入手引見(jiàn)CodeWarrior集成開(kāi)發(fā)環(huán)境。Cod
4、e Warrior IDE 主界面運(yùn)用ADS 中的CodeWarrior工程管理器來(lái)管理源代碼。一個(gè)嵌入式系統(tǒng)工程通常是由多個(gè)文件構(gòu)成的,包括用不同的言語(yǔ)匯編或C、不同的類(lèi)型源文件,庫(kù)文件的文件。CodeWarrior 經(jīng)過(guò)“工程Project來(lái)管理一個(gè)工程相關(guān)的一切文件。因此,在我們正確編譯這個(gè)工程代碼以前,首先要建立“工程,并參與必要的源文件、庫(kù)文件等。創(chuàng)建工程_選擇File|New命令 點(diǎn)擊確定后,即可建立一個(gè)新的名為“ARM_Test的工程。此時(shí),會(huì)彈出ARM_Test.Mcp窗口添加文件ARM_Test.Mcp窗口包含三個(gè)標(biāo)簽頁(yè),在files標(biāo)簽下,可以經(jīng)過(guò)單擊右鍵添加已有的文件。例
5、如,從目錄中選取main.c文件Myhelloworldmain.c,點(diǎn)擊“打開(kāi),main.c文件就被參與了工程中。 用同樣的方法,將一切的*.C和*.S源文件文件都添加到source 中去(包括Target目錄下的源文件)。一切必需的文件添加完成后如下圖。生成目的的設(shè)置 每個(gè)工程工程都有3種生成目的:Debug包含了一切調(diào)試信息。DebugRel包含了部分調(diào)試信息。Release不包含調(diào)試信息。選擇其中一種或多種作為最終生成的目的。此時(shí)工程曾經(jīng)建立終了。但這樣的工程還并不能正確地被編譯,還需求對(duì)工程的編譯選項(xiàng)進(jìn)展適當(dāng)配置。為了方便,以DebugRel方式為例。點(diǎn)擊菜單Edit | Debug
6、Rel Setting,彈出配置對(duì)話(huà)框:首先選中Target Setting,將其中的Post-linker設(shè)置為ARM fromELF,使得工程在鏈接后再經(jīng)過(guò)fromELF產(chǎn)生二進(jìn)制代碼。然后選中ARM Linker,對(duì)鏈接器進(jìn)展設(shè)置。參數(shù)設(shè)置_RO基地址:在調(diào)試時(shí),-ro-base的設(shè)置該當(dāng)大于0 x0000。采用了0 x8000 這個(gè)地址。參數(shù)設(shè)置_設(shè)置入口點(diǎn):Image entry point 制定映像文件的初始入口點(diǎn)地址值,當(dāng)映像文件被夾在程序加載時(shí),加載程序會(huì)跳轉(zhuǎn)到該地址處執(zhí)行。參數(shù)設(shè)置_指定起始輸入段參數(shù)設(shè)置_指定可執(zhí)行文件格式留意到在上圖中新參與的文件前面有個(gè)紅色的“鉤,闡明這
7、個(gè)文件還沒(méi)有被編譯過(guò)。在進(jìn)展編譯之前,必需正確設(shè)置該工程的工具配置選項(xiàng)。選中一切的文件,點(diǎn)擊 圖標(biāo)進(jìn)展文件數(shù)據(jù)同步;然后點(diǎn)擊 圖標(biāo),對(duì)文件進(jìn)展編譯compile;點(diǎn)擊 按鈕,對(duì)工程進(jìn)展make,make的行為包括以下過(guò)程:編譯和匯編源程序文件,產(chǎn)生*.o對(duì)象文件;鏈接對(duì)象文件和庫(kù)產(chǎn)生可執(zhí)行映像文件;產(chǎn)生二進(jìn)制代碼。Make終了后產(chǎn)生了可執(zhí)行映象文件*.axf文件,這個(gè)文件可以載入AXD進(jìn)展仿真調(diào)試了。并且還經(jīng)過(guò)fromelf工具將ELF文件轉(zhuǎn)換為二進(jìn)制格式文件*.bin。它可以用來(lái)最終固化到flash ROM中但鏈接選項(xiàng)中的-ro-base要修正,也可以經(jīng)過(guò)USB口下載運(yùn)轉(zhuǎn)。運(yùn)用ARMulat
8、or來(lái)調(diào)試簡(jiǎn)單程序ARMulator是一個(gè)ARM指令集仿真器,集成在ARM的調(diào)試器AXD中,它提供對(duì)ARM處置器指令集的仿真,為ARM和Thumb提供準(zhǔn)確的模擬。利用ARMulator可以在沒(méi)有硬件目的平臺(tái)條件下開(kāi)發(fā)、運(yùn)轉(zhuǎn)特定ARM處置器上的運(yùn)用程序。ARMulaor可以提供指令執(zhí)行時(shí)內(nèi)部存放器情況及執(zhí)行周期,可以進(jìn)展運(yùn)用程序的性能分析,這樣就為軟硬件并行開(kāi)發(fā)提供了極大的方便。在CODEWARRIOR 中,工程經(jīng)過(guò)編譯勝利,產(chǎn)生了*.axf 文件之后,就可以進(jìn)展調(diào)試了。點(diǎn)擊 按鈕,進(jìn)入了AXD視窗界面。點(diǎn)擊菜單項(xiàng) Option | ConfigurTarget,對(duì)調(diào)試目的進(jìn)展配置:運(yùn)用ARMu
9、lator來(lái)調(diào)試簡(jiǎn)單程序 AXD調(diào)試環(huán)境_加載映像文件 AXD調(diào)試環(huán)境_運(yùn)轉(zhuǎn)程序 Step In或F8或工具欄中 圖標(biāo)Step或F10或工具欄中 圖標(biāo)Step Out或Shift+F8或工具欄中 圖標(biāo)Run To Cursor或F7或工具欄中 圖標(biāo) AXD調(diào)試環(huán)境_設(shè)置斷點(diǎn) AXD調(diào)試環(huán)境_查看存放器內(nèi)容 AXD調(diào)試環(huán)境_查看內(nèi)存空間 AXD調(diào)試環(huán)境_查看變量 AXD調(diào)試環(huán)境_查看反匯編代碼 運(yùn)用JTAG仿真器來(lái)調(diào)試程序運(yùn)用AXD可以完成對(duì)程序的軟件仿真調(diào)試,但要完成硬件仿真和調(diào)試功能,那么需求經(jīng)過(guò)JTAG仿真器實(shí)現(xiàn)ARM處置器與主機(jī)的通訊聯(lián)絡(luò)。 運(yùn)用JTAG仿真器來(lái)調(diào)試程序 初始化存儲(chǔ)器通常
10、ARM處置器都集成有SDRAM控制器。程序的在線(xiàn)調(diào)試實(shí)踐上是要將程序代碼經(jīng)過(guò)JTAG仿真器下載四處置器的SDRAM空間執(zhí)行,但是SDRAM在初始化上電時(shí)并不能直接訪(fǎng)問(wèn),必需配置它的刷新計(jì)數(shù)值、刷新時(shí)間、刷新使能等才可以訪(fǎng)問(wèn)。初始化存儲(chǔ)器就是設(shè)置ARM處置器的某些存放器,實(shí)現(xiàn)對(duì)SDRAM存儲(chǔ)空間映射的初始化過(guò)程。EELIOD系統(tǒng)硬件決議了在進(jìn)展JTAG調(diào)試時(shí),一上電SDRAM并沒(méi)有初始化,故不能直接訪(fǎng)問(wèn),下載程序前需求先進(jìn)展SDRAM的初始化任務(wù)。初始化存儲(chǔ)器 程序仿真調(diào)試 Semihosting調(diào)試技術(shù) Semihosting 定義軟件中斷(SWI)指令 SWI編號(hào) Semihosting調(diào)試技術(shù)Semihosting的實(shí)現(xiàn)原理 C庫(kù)函數(shù)重定向 下面是實(shí)現(xiàn)fputc()重定向的一個(gè)例子:extern void sendchar(char*ch);int fputc(int ch, FILE*f) /*e.g.writeacharactertoanUART*/char tempch=ch;sendchar(&tempch);return ch;程序的固化程序固化就是將調(diào)試完成后的程序代碼
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級(jí)上冊(cè)美術(shù)教學(xué)設(shè)計(jì)-1 美麗的天空 人美版
- 2024年一年級(jí)道德與法治上冊(cè) 第6課 做學(xué)習(xí)的主人教學(xué)設(shè)計(jì) 未來(lái)版
- 12 低碳生活每一天(教學(xué)設(shè)計(jì))-2024-2025學(xué)年統(tǒng)編版道德與法治四年級(jí)上冊(cè)
- Starter Unit 1 Good morning!Period 3教學(xué)設(shè)計(jì)2023-2024學(xué)年人教版七年級(jí)英語(yǔ)上冊(cè)
- 6 j q x 第一課時(shí)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年統(tǒng)編版語(yǔ)文一年級(jí)上冊(cè)
- 膀胱造瘺護(hù)理查房
- 2024-2025學(xué)年高中語(yǔ)文 第4單元 心連廣宇(問(wèn)題探討)單元序列寫(xiě)作(四)教學(xué)設(shè)計(jì) 蘇教版必修5
- 起重吊裝操作培訓(xùn)
- Module5Unit2教學(xué)設(shè)計(jì)2023-2024學(xué)年外研版英語(yǔ)八年級(jí)下冊(cè)
- 《認(rèn)識(shí)平面圖形》單元整體設(shè)計(jì)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年一年級(jí)下冊(cè)數(shù)學(xué)西師大版
- 部編版初中語(yǔ)文九年級(jí)下冊(cè)第一單元-復(fù)習(xí)課件
- 上海市中小學(xué)生學(xué)業(yè)質(zhì)量綠色指標(biāo)問(wèn)卷調(diào)查-小學(xué)生問(wèn)卷-I
- 防腐工程在杭州灣跨海大橋中的應(yīng)用
- 液化氣站三級(jí)安全教育培訓(xùn)試題
- 經(jīng)濟(jì)法實(shí)用教程(理論部分)(第八版)(何辛)案例分析及參考答案
- 532近代前夜的危機(jī)
- (精心整理)朱德熙_說(shuō) “的”
- 《雷鋒叔叔,你在哪里》說(shuō)課稿(附優(yōu)質(zhì)教案)
- 廠(chǎng)用電受電后代保管協(xié)議
- 醫(yī)院住院病歷質(zhì)量檢查評(píng)分表
- 出廠(chǎng)檢驗(yàn)報(bào)告B
評(píng)論
0/150
提交評(píng)論