2410中斷分析--------------

2410中斷分析--------------

ID:37840841

大?。?29.00 KB

頁數(shù):24頁

時(shí)間:2019-06-01

2410中斷分析--------------_第1頁
2410中斷分析--------------_第2頁
2410中斷分析--------------_第3頁
2410中斷分析--------------_第4頁
2410中斷分析--------------_第5頁
資源描述:

《2410中斷分析--------------》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、2410中斷分析本文基于S3C2410開發(fā)板源代碼和datasheet,分析了2410的中斷機(jī)制,包括原理、初始化、中斷處理過程和中斷程序設(shè)計(jì),希望能夠?qū)Τ鯇W(xué)者有所幫助,若有錯(cuò)誤,還請指出,非常感謝。yeahnix@yahoo.com.cn目錄2410中斷分析1一、BOOTLOADER2二、內(nèi)核3三、2410中斷分析51.硬件機(jī)制52.對應(yīng)于硬件機(jī)制的軟件中斷處理7四、中斷處理過程121.全局?jǐn)?shù)據(jù)結(jié)構(gòu):122.匯編部分133.通用處理過程15五、中斷初始化17六、驅(qū)動設(shè)計(jì)21一、BOOTLOADER摘自《基于ARM嵌入式系統(tǒng)的通用bootloader的

2、設(shè)計(jì)與實(shí)現(xiàn)》簡單地說,bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行前運(yùn)行地一段小程序。通過這段小程序,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用。bootloader是依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式系統(tǒng)中。不同的體系結(jié)構(gòu)需求的bootloader是不同的;除了體系結(jié)構(gòu),bootloader還依賴于具體的嵌入式板級設(shè)備的配置。也就是說,對于兩塊不同的嵌入式板而言,即使它們基于相同的CPU構(gòu)建,運(yùn)行在其中一塊電路板上的

3、bootloader,未必能夠運(yùn)行在另一塊電路開發(fā)板上。對于一個(gè)ARM系統(tǒng)來說,本質(zhì)上,bootloader作為引導(dǎo)與加載內(nèi)核鏡像的“工具”,在實(shí)現(xiàn)上,必須提供以下幾個(gè)功能,更確切地說,必須做到以下幾點(diǎn)[1](DOCARMBOOTING):(1)初始化RAM(必需):bootloader必須能夠初始化RAM,因?yàn)閷硐到y(tǒng)要通過它保存一些Volatile數(shù)據(jù),但具體地實(shí)現(xiàn)要依賴與具體的CPU以及硬件系統(tǒng)。(2)初始化串口(可選,推薦):bootloader應(yīng)該要初始化以及使能至少一個(gè)串口,通過它與控制臺聯(lián)系進(jìn)行一些debug的工作;甚至與PC通信。(

4、3)創(chuàng)建內(nèi)核參數(shù)列表(針對linux操作系統(tǒng),推薦)。(4)啟動內(nèi)核鏡像(必需):根據(jù)內(nèi)核鏡像保存的存儲介質(zhì)不同,可以有兩種啟動方式:FALSH啟動以及RAM啟動;但是無論是哪種啟動方式,下面的系統(tǒng)狀態(tài)必須得到滿足:lCPU寄存器的設(shè)置:R0=0;R1=機(jī)器類型;R2=啟動參數(shù)標(biāo)記列表在RAM中的起始地址;這三個(gè)寄存器的設(shè)置是在最后啟動內(nèi)核時(shí)通過啟動參數(shù)來傳遞完成的。linux/arch/arm/kernel/head-armv.S/**Kernelstartupentrypoint.*Therulesare:*r0-shouldbe0*r1-uniq

5、uearchitecturenumber*MMU-off*I-cache-onoroff*D-cache-off*Seelinux/arch/arm/tools/mach-typesforthecompletelistofnumbers*forr1.*/Bootloader啟動內(nèi)核鏡像的方法是通過跳轉(zhuǎn)語句直接跳轉(zhuǎn)至內(nèi)核鏡像的第一句指令語句。一、內(nèi)核Documentation/Arm/readmeMachine/PlatformsupportTheARMtreecontainssupportforalotofdifferentmachinetypes.T

6、ocontinuesupportingthesedifferences,ithasbecomenecessarytosplitmachine-specificpartsbydirectory.Forthis,themachinecategoryisusedtoselectwhichdirectoriesandfilesgetincluded(wewilluse$(MACHINE)torefertothecategory)Tothisend,wenowhavearch/arm/mach-$(MACHINE)directorieswhicharedesig

7、nedtohousethenon-driverfilesforaparticularmachine(eg,PCI,memorymanagement,architecturedefinitionsetc).Forallfuturemachines,thereshouldbeacorrespondinginclude/asm-arm/arch-$(MACHINE)directory.即除了標(biāo)準(zhǔn)的arm通用處理(kernel、mm,支持不同的體系結(jié)構(gòu),arm7、9等),還用MACHINE(機(jī)器類型)來代表不同的板子和體系結(jié)構(gòu),在mach-$(MACHINE)

8、中僅包含非driver的特定機(jī)器內(nèi)容。Kernelentry(head-armv.S)Thei

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。