![嵌入式學(xué)習(xí)資料之ARM的三種中斷調(diào)試方法_第1頁(yè)](http://file4.renrendoc.com/view10/M01/1E/2A/wKhkGWWlMmWAcuS1AAJtFo9nkGo496.jpg)
![嵌入式學(xué)習(xí)資料之ARM的三種中斷調(diào)試方法_第2頁(yè)](http://file4.renrendoc.com/view10/M01/1E/2A/wKhkGWWlMmWAcuS1AAJtFo9nkGo4962.jpg)
![嵌入式學(xué)習(xí)資料之ARM的三種中斷調(diào)試方法_第3頁(yè)](http://file4.renrendoc.com/view10/M01/1E/2A/wKhkGWWlMmWAcuS1AAJtFo9nkGo4963.jpg)
![嵌入式學(xué)習(xí)資料之ARM的三種中斷調(diào)試方法_第4頁(yè)](http://file4.renrendoc.com/view10/M01/1E/2A/wKhkGWWlMmWAcuS1AAJtFo9nkGo4964.jpg)
![嵌入式學(xué)習(xí)資料之ARM的三種中斷調(diào)試方法_第5頁(yè)](http://file4.renrendoc.com/view10/M01/1E/2A/wKhkGWWlMmWAcuS1AAJtFo9nkGo4965.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式學(xué)習(xí)資料之ARM的三種中斷調(diào)試方法1嵌入式軟件開發(fā)流程鏈接腳本文件命令腳本文件存儲(chǔ)區(qū)映像文件啟動(dòng)文件2中斷程序設(shè)計(jì)(1)將中斷源函數(shù)指針定義在RAM中相對(duì)的固定地址(2)在程序中,調(diào)用詳細(xì)某中斷源的中斷處置函數(shù)(3)在0x18處的IRQ或0x1C處的FIQ中斷入口函數(shù)中3中斷調(diào)試(1)程序在SDRAM中運(yùn)轉(zhuǎn)(2)程序在FLASH中運(yùn)轉(zhuǎn)(3)程序從FLASH中調(diào)到SDRAM中運(yùn)轉(zhuǎn)參照嵌入式軟件的開發(fā)流程。第一步:工程建立和配置。第二步:編輯源文件。第三步:工程編譯和鏈接。第四步:軟件的調(diào)試。第五步:執(zhí)行文件的固化。在整個(gè)流程中,用戶首先需求建立工程并對(duì)工程做初步的配置,包括配置處置器和配置調(diào)試設(shè)備。編輯工程文件,包括本人編寫的匯編和C言語(yǔ)源程序,還有工程編譯時(shí)需求編寫的鏈接腳本文件,調(diào)試過(guò)程中需求編寫存儲(chǔ)區(qū)映像文件和命令腳本文件,以及上電復(fù)位時(shí)的程序運(yùn)轉(zhuǎn)入口的啟動(dòng)程序文件。對(duì)后四種文件的了解很重要,其作用解釋如下:1嵌入式學(xué)習(xí)資料之嵌入式軟件開發(fā)流程(1)鏈接腳本文件:在程序編譯時(shí)起作用。該文件描畫代碼鏈接定位的有關(guān)信息,包括代碼段,數(shù)據(jù)段,地址段等,鏈接器必需運(yùn)用該文件對(duì)整個(gè)系統(tǒng)的代碼做正確的定位。在SDRAM中調(diào)試程序、在FLASH中調(diào)試或固化后運(yùn)轉(zhuǎn)的鏈接腳本文件應(yīng)加以區(qū)分?!苍贗DE開發(fā)環(huán)境中運(yùn)用擴(kuò)展名*.ld〕(1)嵌入式學(xué)習(xí)資料之鏈接腳本文件(2)命令腳本文件:在SDRAM中調(diào)試程序時(shí)起作用。在集成環(huán)境與目的銜接時(shí)、軟件調(diào)試過(guò)程中以及目的板復(fù)位后,有時(shí)需求集成環(huán)境自動(dòng)完成一些特定的操作,比如復(fù)位目的板、去除看門狗、屏蔽中斷存放器、存儲(chǔ)區(qū)映射等。這些操作可以經(jīng)過(guò)執(zhí)行一組命令序列來(lái)完成,保管一組命令序列的文本文件稱為命令腳本文件〔在IDE開發(fā)環(huán)境中運(yùn)用擴(kuò)展名*.cs〕。(2)嵌入式學(xué)習(xí)資料之命令腳本文件(3)存儲(chǔ)區(qū)映像文件:在SDRAM中調(diào)試程序時(shí)起作用。在軟件調(diào)試過(guò)程中訪問(wèn)非法存儲(chǔ)區(qū)在部分處置器和目的板上會(huì)產(chǎn)生異常,假設(shè)異常沒(méi)有處置,那么會(huì)導(dǎo)致軟件調(diào)試過(guò)程無(wú)法繼續(xù),為了防止以上問(wèn)題并調(diào)整仿真器訪問(wèn)速度以到達(dá)最適宜的程度,提供這樣一種用于描畫各個(gè)存儲(chǔ)區(qū)性質(zhì)的文件叫存儲(chǔ)區(qū)映像文件〔在IDE開發(fā)環(huán)境中運(yùn)用擴(kuò)展名*.map〕。在程序的調(diào)試過(guò)程中可以選擇運(yùn)用存儲(chǔ)區(qū)映像文件*.map和命令腳本文件*.cs配合程序的調(diào)試。(3)嵌入式學(xué)習(xí)資料之存儲(chǔ)區(qū)映像文件(4)啟動(dòng)文件:它主要是完成一些和硬件相關(guān)的初始化的任務(wù),為運(yùn)用程序做預(yù)備。普通,啟動(dòng)代碼的第一步是設(shè)置中斷和異常向量;第二步是完成系統(tǒng)啟動(dòng)所必需的存放器配置;第三步設(shè)置看門狗及用戶設(shè)計(jì)的部分外圍電路;第四步是配置系統(tǒng)所運(yùn)用的存儲(chǔ)區(qū)分配地址空間;第五步是變量初始化;第六步是為處置器的每個(gè)任務(wù)方式設(shè)置棧指針;最后一步是進(jìn)入高級(jí)言語(yǔ)入口函數(shù)〔Main函數(shù)〕。(4)嵌入式學(xué)習(xí)資料之啟動(dòng)文件中斷調(diào)試方面可以采用類似矢量中斷動(dòng)態(tài)處置方式,讓中斷對(duì)應(yīng)確實(shí)定地址代碼調(diào)轉(zhuǎn)到RAM的固定地址處,定義一個(gè)函數(shù)指針指向該固定地址,就可以隨時(shí)經(jīng)過(guò)交換RAM固定地址處的代碼,實(shí)現(xiàn)動(dòng)態(tài)改動(dòng)中斷處置函數(shù)。詳細(xì)方法是:2嵌入式學(xué)習(xí)資料之中斷程序設(shè)計(jì)(1)將中斷源函數(shù)指針定義在RAM中相對(duì)的固定地址,建立中斷矢量表;voidSetInterrupt(U32vector,void(*handler)()){InterruptHandlers[vector]=handler;}voidSetInterrupt(U32vector,void(*handler)()){InterruptHandlers[vector]=handler;}(1)將中斷源函數(shù)指針定義在RAM中相對(duì)的固定地址(2)在程序中,調(diào)用詳細(xì)某中斷源的中斷處置函數(shù);如:SetInterrupt(IIC_INT,IICWriteIsr);/*聲明IIC中斷處置函數(shù),其中IIC_INT為IIC中斷源序號(hào),IICWriteIsr為IIC的寫中斷處置函數(shù)*/(2)在程序中,調(diào)用詳細(xì)某中斷源的中斷處置函數(shù)(3)在0x18處的IRQ或0x1C處的FIQ中斷入口函數(shù)中,獲取中斷源、去除中斷掛起標(biāo)志、經(jīng)過(guò)已定義的中斷源函數(shù)指針進(jìn)入用戶詳細(xì)某中斷處置程序。voidISR_IrqHandler(void){IntOffSet=(unsignedint)INTOFFSET;Clear_PendingBit(IntOffSet>>2);(*InterruptHandlers[IntOffSet>>2])();//調(diào)用詳細(xì)某中斷處置程序}(3)在0x18處的IRQ或0x1C處的FIQ中斷入口函數(shù)voidISR_IrqHandler(void){IntOffSet=(unsignedint)INTOFFSET;Clear_PendingBit(IntOffSet>>2);(*InterruptHandlers[IntOffSet>>2])();//調(diào)用詳細(xì)某中斷處置程序}采用動(dòng)態(tài)的中斷處置方法,在中斷源較多的情況下,中斷呼應(yīng)時(shí)間和程序性能得到優(yōu)化。另外,在調(diào)試方面,此處置方法具有便于跟蹤調(diào)試的優(yōu)點(diǎn),并且根據(jù)需求,可以方便變換中斷處置函數(shù)。嵌入式學(xué)習(xí)資料軟件調(diào)試可以在SDRAM中或FLASH中進(jìn)展。在SDRAM中,讀寫方便,訪問(wèn)速度快。普通軟件調(diào)試應(yīng)在RAM中完成,但當(dāng)RAM空間小于FLASH程序空間,程序只能在FLASH運(yùn)轉(zhuǎn)和調(diào)試時(shí),或者用戶希望了解程序在FLASH中實(shí)踐運(yùn)轉(zhuǎn)情況時(shí),就可以在FLASH中進(jìn)展程序調(diào)試。進(jìn)展中斷調(diào)試時(shí),應(yīng)留意中斷入口位于SDRAM中或FLASH中0x18或0x1c地址,鏈接腳本文件必需使整個(gè)系統(tǒng)的代碼正確定位于0x0起始處,但SDRAM或FLASH對(duì)應(yīng)的鏈接腳本文件及工程配置留意區(qū)別。3嵌入式學(xué)習(xí)資料之中斷調(diào)試(1)程序在SDRAM中運(yùn)轉(zhuǎn)在SDRAM中調(diào)試,運(yùn)用SDRAM對(duì)應(yīng)的鏈接腳本文件。調(diào)試過(guò)程需求以下幾步:編譯、鏈接工程;銜接仿真器和電路板;下載程序〔在IDE開發(fā)環(huán)境中運(yùn)用擴(kuò)展名*.elf〕;調(diào)試。下載程序前必需啟動(dòng)命令腳本文件完成前述的一些特定的操作,命令腳本文件的啟動(dòng)在銜接仿真器時(shí)自動(dòng)進(jìn)展,其中存儲(chǔ)區(qū)映射應(yīng)與程序在SDRAM中運(yùn)轉(zhuǎn)時(shí)一樣,保證整個(gè)系統(tǒng)的代碼正確定位于0x0起始處。下載程序的起始地址也為0x0,下載勝利后便可進(jìn)展調(diào)試任務(wù)。(1)嵌入式學(xué)習(xí)資料之程序在SDRAM中運(yùn)轉(zhuǎn)在FLASH中調(diào)試,運(yùn)用FLASH對(duì)應(yīng)的鏈接腳本文件。調(diào)試過(guò)程需求以下幾步:編譯、鏈接工程;銜接仿真器和電路板;程序格式轉(zhuǎn)換〔*.elf轉(zhuǎn)換為*.bin〕;固化*.bin程序;調(diào)試。銜接仿真器后不需求下載程序,存儲(chǔ)區(qū)映射由本身工程中啟動(dòng)文件運(yùn)轉(zhuǎn)完成,不需求命令腳本文件。在本環(huán)境調(diào)試過(guò)程中,可以設(shè)置兩個(gè)硬件斷點(diǎn)。(2)嵌入式學(xué)習(xí)資料之程序在FLASH中運(yùn)轉(zhuǎn)(3)程序從FLASH中調(diào)到SDRAM中運(yùn)轉(zhuǎn)在某些運(yùn)用場(chǎng)所,強(qiáng)調(diào)程序運(yùn)轉(zhuǎn)速度的情況下,希望程序在SDRAM中運(yùn)轉(zhuǎn),這樣就需求將FLASH中存儲(chǔ)的程序,在系統(tǒng)上電后搬運(yùn)到SDRAM某空間位置,然后自動(dòng)運(yùn)轉(zhuǎn)。這種所謂的Bootloader技術(shù),在DSP系統(tǒng)中常被采用。調(diào)試過(guò)程分兩步:(a)首先將用戶程序在SDRAM中調(diào)試經(jīng)過(guò),然后將*.bin文件固化到FLASH某一非0扇區(qū)地址空間;(3)程序從FLASH中調(diào)到SDRAM中運(yùn)轉(zhuǎn)(b)將本人編寫的Bootloader搬運(yùn)程序調(diào)試經(jīng)過(guò)并將Bootloader.bin文件固化到FLASH的0扇區(qū)地址空間,搬運(yùn)程序在系統(tǒng)上電后,將〔a〕中FLASH某一非0扇區(qū)地址空間存儲(chǔ)的程序,搬運(yùn)到在SDRAM調(diào)試中同樣的空間位置,實(shí)現(xiàn)程序在SDRAM中運(yùn)轉(zhuǎn)的目的。另外留意,由于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能交通管理系統(tǒng)建設(shè)與運(yùn)營(yíng)合同
- 2024-2025年中國(guó)電液伺服系統(tǒng)行業(yè)市場(chǎng)評(píng)估分析及投資發(fā)展盈利預(yù)測(cè)報(bào)告
- 2025年度航空航天材料研發(fā)與應(yīng)用合同-@-1
- 2025年萃取菁蒿素項(xiàng)目可行性研究報(bào)告
- 2025年度住宅小區(qū)公共區(qū)域美化裝修合同樣本
- 申請(qǐng)戶口申請(qǐng)書
- 2020-2025年中國(guó)孕婦化妝品行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報(bào)告
- 2025年單纖維強(qiáng)力測(cè)試儀項(xiàng)目投資可行性研究分析報(bào)告
- 2025年度企業(yè)內(nèi)部培訓(xùn)合作辦學(xué)協(xié)議
- 農(nóng)村分戶申請(qǐng)書的格式
- 全名校北師大版數(shù)學(xué)五年級(jí)下冊(cè)第三單元達(dá)標(biāo)測(cè)試卷(含答案)
- 新員工入職通識(shí)考試(中軟國(guó)際)
- 四星級(jí)酒店工程樣板房裝修施工匯報(bào)
- 圓翳內(nèi)障病(老年性白內(nèi)障)中醫(yī)診療方案
- 中考物理復(fù)習(xí)備考策略
- 博士后進(jìn)站申請(qǐng)書博士后進(jìn)站申請(qǐng)書八篇
- 小報(bào):人工智能科技科學(xué)小報(bào)手抄報(bào)電子小報(bào)word小報(bào)
- GB/T 41509-2022綠色制造干式切削工藝性能評(píng)價(jià)規(guī)范
- 公安系防暴安全03安檢
- 孫權(quán)勸學(xué)教案全國(guó)一等獎(jiǎng)教學(xué)設(shè)計(jì)
- 企業(yè)生產(chǎn)現(xiàn)場(chǎng)6S管理知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論