arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)

arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)

ID:39961343

大?。?07.00 KB

頁數(shù):30頁

時間:2019-07-16

arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)_第1頁
arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)_第2頁
arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)_第3頁
arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)_第4頁
arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)_第5頁
資源描述:

《arm嵌入式c編程標(biāo)準教程第四章s3c2410的中斷系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第四章S3C2410的中斷系統(tǒng)S3C2410的中斷系統(tǒng)S3C2410的處理器中斷S3C2410的中斷控制S3C2410的中斷源S3C2410中斷控制專用寄存器S3C2410中斷控制程序編寫步驟本章實驗例程S3C2410的中斷系統(tǒng)S3C2410的處理器中斷S3C2410的中斷控制邏輯如圖,它可以處理56個中斷源的中斷請求。這些中斷源可以是來自片內(nèi)外設(shè)的中斷,比如DMA、UART和I2C等;也可以是來自處理器外部中斷輸入引腳。S3C2410的中斷系統(tǒng)S3C2410的處理器中斷下面的11個中斷源通過分支中斷控制器來申請使用中斷INT_ADCA/D轉(zhuǎn)換中斷;INT_

2、TC觸摸屏中斷;INT_ERR2UART2收發(fā)錯誤中斷;INT_TXD2UART2發(fā)送中斷;INT_RXD2UART2接收中斷;INT_ERR1UART1收發(fā)錯誤中斷;INT_TXD1UART1發(fā)送中斷;INT_RXD1UART1接收中斷;INT_ERR0UART0收發(fā)錯誤中斷;INT_TXD0UART0發(fā)送中斷;INT_RXD0UART0接收中斷。S3C2410的中斷系統(tǒng)S3C2410的處理器中斷片內(nèi)UARTn中斷和EINTn是邏輯“或”的關(guān)系,它們共用一根中斷請求線。中斷控制邏輯(interruptioncontrollerlogic)的任務(wù)是在片內(nèi)外圍

3、和外部中斷源組成的多重中斷發(fā)生時,選擇其中一個中斷,通過FIQ(快速請求中斷)或IRQ(通用中斷請求)向CPU內(nèi)核發(fā)出中斷請求。S3C2410的中斷系統(tǒng)S3C2410的處理器中斷實際上最初CPU內(nèi)核只有FIQ和IRQ兩種中斷,其他中斷都是各個芯片廠家在設(shè)計芯片時,通過加入一個中斷控制器來擴展定義的。這些中斷根據(jù)中斷優(yōu)先級的高低來進行處理,更符合實際應(yīng)用系統(tǒng)中要求提供多個中斷源的要求。例如,如果定義所有的中斷源為IRQ中斷(通過中斷模式寄存器設(shè)置),并且同時有10個中斷發(fā)出請求,那么這時可以通過讀中斷優(yōu)先級寄存器來確定哪一個中斷被優(yōu)先執(zhí)行S3C2410的中斷系

4、統(tǒng)S3C2410的處理器中斷當(dāng)多重中斷源請求中斷時,硬件優(yōu)先級邏輯會判斷哪一個中斷將被執(zhí)行;同時,硬件邏輯將會執(zhí)行位于0x18(或0x1C)地址處的指令,再由軟件編程識別各個中斷源,然后再根據(jù)中斷源跳轉(zhuǎn)到相應(yīng)的中斷處理程序S3C2410的中斷系統(tǒng)中斷控制4.2.1程序狀態(tài)寄存器的F位和I位4.2.2中斷模式(INTMOD)4.2.3中斷掛起寄存器(INTPND)和中斷源掛起寄存器(SRCPND)4.2.4中斷屏蔽寄存器(INTMSK)4.2.5中斷優(yōu)先寄存器(PRIORITY)S3C2410的中斷系統(tǒng)4.2.1程序狀態(tài)寄存器的F位和I位如果CPSR(程序狀態(tài)

5、寄存器)的F位被設(shè)置為1,那么CPU將不接受來自中斷控制器的FIQ(快速中斷請求);如果CPSR程序狀態(tài)寄存器的I位被設(shè)置為1,那么CPU將不接受來自中斷控制器的IRQ(通用中斷請求)。因此,為了使能FIQ和IRQ,必須先將CPSR程序狀態(tài)寄存器的F位和I位清零,并且中斷屏蔽寄存器INTMSK中相應(yīng)的位也要清零。在使用C語言編寫控制程序時,CPSR在程序中是不可見的。F位和I位清零可由中斷屏蔽寄存器INTMSK中相應(yīng)的位清零自動完成。S3C2410的中斷系統(tǒng)4.2.2中斷模式(INTMOD)S3C2410提供了兩種中斷模式,即FIQ(快速)模式和IRQ(通用

6、)模式。所有的中斷源在中斷請求時都要確定使用那一種中斷模式。INTMOD相應(yīng)位為0,選通用中斷模式;INTMOD相應(yīng)位為1,選快速中斷模式。上電或復(fù)位時INTMOD相應(yīng)位為0,默認選通用中斷模式。S3C2410的中斷系統(tǒng)4.2.3中斷掛起寄存器(INTPND)和中斷源掛起寄存器(SRCPND)S3C2410有兩個中斷掛起寄存器:中斷源掛起寄存器(SRCPND)和中斷掛起寄存器(INTPND)。這兩個寄存器用于指示對應(yīng)的中斷源和中斷是否被激活。當(dāng)中斷源請求中斷時,SRCPND寄存器的相應(yīng)位被置1;當(dāng)中斷被激活時,INTPND寄存器的相應(yīng)位被置1。S3C2410

7、的中斷系統(tǒng)4.2.3中斷掛起寄存器(INTPND)和中斷源掛起寄存器(SRCPND)如果屏蔽位被設(shè)置為1,則相應(yīng)的SRCPND位會被置1,而INTPND寄存器不會有變化;如果INTPND被置位,只要標(biāo)志I或標(biāo)志F被清零,就會執(zhí)行相應(yīng)的中斷服務(wù)子程序。在中斷服務(wù)子程序中要先向SRCPND中的相應(yīng)位寫1來清除掛起狀態(tài),再用同樣的方法來清除INTPND相應(yīng)位的掛起狀態(tài)。注意:可以通過INTPND=INTPND來實現(xiàn)清零,以避免寫入不正確的數(shù)據(jù)引起錯誤。S3C2410的中斷系統(tǒng)4.2.4中斷屏蔽寄存器(INTMSK)當(dāng)INTMSK寄存器的相應(yīng)位(屏蔽位)為1時,對應(yīng)

8、的中斷被禁止;當(dāng)INTMSK寄存器的屏蔽位為0時,則

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

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

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