版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章 ARM中斷處理121 中斷概述qCPU與外設(shè)的數(shù)據(jù)傳輸方式通常有以下幾種:n查詢方式qCPU不斷地查詢外設(shè)狀態(tài),如果外設(shè)準(zhǔn)備就緒就開始傳輸數(shù)據(jù),如果外設(shè)沒有準(zhǔn)備好,就進(jìn)入循環(huán)等待 n中斷方式q當(dāng)外設(shè)準(zhǔn)備好與CPU進(jìn)行數(shù)據(jù)交換時,首先想CPU提出中斷請求。,CPU在接到中斷請求并在一定的條件下,暫停原來的程序,并執(zhí)行中斷服務(wù)程序,執(zhí)行完后再次回到原程序的nDMA方式q不經(jīng)CPU而直接進(jìn)行數(shù)據(jù)交換的過程3中斷概述4中斷概述2. S3C2440中斷系統(tǒng)結(jié)構(gòu)中斷系統(tǒng)結(jié)構(gòu)1、中斷系統(tǒng)結(jié)構(gòu)、中斷系統(tǒng)結(jié)構(gòu)主要由中斷源和控制寄存器兩大部分構(gòu)成,其主要由中斷源和控制寄存器兩大部分構(gòu)成,其寄存器主要有寄存
2、器主要有4種:模式、屏蔽、優(yōu)先級、掛起種:模式、屏蔽、優(yōu)先級、掛起(標(biāo)志)寄存器等。(標(biāo)志)寄存器等。中斷源中斷源(有子寄存器有子寄存器)子中斷源子中斷源掛起寄存器掛起寄存器中斷源中斷源(無子寄存器無子寄存器)子中斷源子中斷源屏蔽寄存器屏蔽寄存器中斷屏蔽中斷屏蔽中斷模式中斷模式優(yōu)先級仲裁優(yōu)先級仲裁FIQIRQ中斷源掛起中斷源掛起中中斷斷掛掛起起52、中斷優(yōu)先級仲裁器及工作原理、中斷優(yōu)先級仲裁器及工作原理中斷系中斷系統(tǒng)有統(tǒng)有6個分個分仲裁器和仲裁器和1個總仲裁器,個總仲裁器,每一個仲裁每一個仲裁器可以處理器可以處理6路中斷。路中斷。6中斷向量表(2級)n第一級(上電復(fù)位時)q位于啟動代碼(裸機(jī))
3、bootloader的起始位置78程序開始和入口地址Vector_entry:BReset_HandleBUndef_HandleBSWI_HandleBPrefetch_HandleBAbort_Handle NOPBIRQ_HandleBFIQ_Handle第二級(用于IRQ中斷)9第二級中斷源入口地址10中斷源的管理11128個專用中斷控制器13Register Address R/W Description Reset Value SRCPND0 x4A000000 R/W 中斷標(biāo)志寄存器中斷標(biāo)志寄存器 0 x00000000 INTMOD 0 x4A000004 R/W 中斷模式寄存
4、器中斷模式寄存器0 x00000000 INTMSK0 x4A000008 R/W 中斷屏蔽寄存器中斷屏蔽寄存器0 xFFFFFFFF PRIORITY0 x4A00000C R/W 中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器0 x7FINTPND0 x4A000010 R/W 中斷服務(wù)寄存器中斷服務(wù)寄存器0 x00000000 INTOFFSET 0 x4A000014R中斷偏移寄存器中斷偏移寄存器0 x00000000 SUBSRCPND 0 x4A000018 R/W 子源掛起寄存器子源掛起寄存器0 x00000000INTSUBMSK 0 x4A00001C R/W 中斷子源屏蔽寄存器中斷子源屏
5、蔽寄存器0 x7FF主要使用前主要使用前5個寄存器個寄存器該寄存器也就是中斷標(biāo)志寄存器該寄存器也就是中斷標(biāo)志寄存器各位:各位:1:對應(yīng)中斷源:對應(yīng)中斷源有有中斷請求中斷請求0:對應(yīng)中斷源:對應(yīng)中斷源無無中斷請求中斷請求注意:必須在中斷處理程序中對其標(biāo)志位清注意:必須在中斷處理程序中對其標(biāo)志位清0。其方法為寫。其方法為寫1.1、SRCPND-中斷源掛起(標(biāo)志)寄存器中斷源掛起(標(biāo)志)寄存器位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT
6、_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT014該寄存器是設(shè)置各中斷源是該寄存器是設(shè)置各中斷源是FIQ中斷還是中斷還是IRQ中斷中斷各位:各位:1:對應(yīng)中斷源設(shè)為:對應(yīng)中斷源設(shè)為FIQ中斷模式中斷模式
7、0:對應(yīng)中斷源設(shè)為:對應(yīng)中斷源設(shè)為IRQ中斷模式中斷模式2、INTMOD-中斷模式寄存器中斷模式寄存器位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110
8、INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT015各位:各位:1:屏蔽對應(yīng)中斷源:屏蔽對應(yīng)中斷源0:開放對應(yīng)中斷源:開放對應(yīng)中斷源3、INTMSK-中斷屏蔽寄存器中斷屏蔽寄存器位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328IN
9、T_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT0164、PRIORITY-中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器ARB_SELn-n組優(yōu)先級順序控制位組優(yōu)先級順序控制位00:REQ0, 1, 2, 3, 4, 5 01:REQ0, 2, 3, 4, 1, 510:REQ0, 3, 4, 1, 2, 5 11:RE
10、Q0, 4, 1, 2, 3, 5ARB_MODEn-n組優(yōu)先級循環(huán)控制位組優(yōu)先級循環(huán)控制位0:優(yōu)先順序固定不變:優(yōu)先順序固定不變 1:優(yōu)先順序循環(huán),每響應(yīng)一次中斷,其順序循環(huán)改變一次,但:優(yōu)先順序循環(huán),每響應(yīng)一次中斷,其順序循環(huán)改變一次,但REQ0、REQ5位置不變。位置不變。位號位號含含 義義位號位號含含 義義位號位號含含 義義31:21保保 留留12:11ARB_SEL24ARB_MODE420:19ARB_SEL610:9ARB_SEL13ARB_MODE318:17ARB_SEL58:7ARB_SEL02ARB_MODE216:15ARB_SEL46ARB_MODE61ARB_MOD
11、E114:13ARB_SEL35ARB_MODE50ARB_MODE017各位:各位:1:對應(yīng)的中斷源被響應(yīng),且正在執(zhí)行中斷服務(wù):對應(yīng)的中斷源被響應(yīng),且正在執(zhí)行中斷服務(wù)0:對應(yīng)中斷源未被響應(yīng):對應(yīng)中斷源未被響應(yīng)注意:必須在中斷處理程序中對其服務(wù)標(biāo)志位清注意:必須在中斷處理程序中對其服務(wù)標(biāo)志位清0。方法為對某位寫。方法為對某位寫1便清除為便清除為0。即在清除即在清除SRCPND中相應(yīng)位后,要清除該寄存器相應(yīng)位。中相應(yīng)位后,要清除該寄存器相應(yīng)位。5、INTPND-中斷服務(wù)(掛起)寄存器中斷服務(wù)(掛起)寄存器位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源31INT_
12、ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT018該寄存器的偏移值指示在該寄存器的偏
13、移值指示在INTPND中顯示的中斷源中顯示的中斷源各位:各位:1:對應(yīng)的中斷源,在:對應(yīng)的中斷源,在INTPND中被置位中被置位說明:說明:當(dāng)在中斷服務(wù)程序中對當(dāng)在中斷服務(wù)程序中對SRCPND、INTPND中的標(biāo)志位清中的標(biāo)志位清0時,該時,該寄存器的對應(yīng)位自動清寄存器的對應(yīng)位自動清0。6、INTOFFSET-中斷偏移寄存器中斷偏移寄存器中斷源中斷源偏移偏移值值中斷源中斷源偏移偏移值值中斷源中斷源偏移偏移值值中斷源中斷源偏移偏移值值INT_ADC31INT_UART123INT_UART215nBATT_FLT7INT_RTC30INT_SPI022INT_TIM414保留保留6INT_SPI
14、129INT_SDI21INT_TIM313EINT8_235INT_UART028INT_DMA320INT_TIM212EINT4_74INT_IIC27INT_DMA219INT_TIM111EINT33INT_USBH26INT_DMA118INT_TIM010EINT22INT_USBD25INT_DMA017INT_WDT9EINT11保留保留24INT_LCD16INT_TICK8EINT00197、SUBSRCPND-子中斷源請求標(biāo)志寄存器子中斷源請求標(biāo)志寄存器對有多個中斷源的外設(shè),顯示其具體的中斷請求對有多個中斷源的外設(shè),顯示其具體的中斷請求各位:各位:1:對應(yīng)的子中斷源有請
15、求:對應(yīng)的子中斷源有請求0:對應(yīng)的子中斷源無請求:對應(yīng)的子中斷源無請求注意:注意:在中斷服務(wù)程序中,需要對其置在中斷服務(wù)程序中,需要對其置1的標(biāo)志位清的標(biāo)志位清0。位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源31:11保保 留留7INT_TXD23INT_RXD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD0208、INTSUBMSK-子中斷源屏蔽寄存器子中斷源屏蔽寄存器對有多個中斷源的外設(shè),對具體的中斷源進(jìn)行屏蔽對有多個中斷源的外設(shè),對具體的中斷源進(jìn)行屏蔽各位:各位
16、:1:屏蔽對應(yīng)的子中斷源:屏蔽對應(yīng)的子中斷源0:開放對應(yīng)的子中斷源:開放對應(yīng)的子中斷源位號位號中斷源中斷源位號位號中斷源中斷源位號位號中斷源中斷源31:11保保 留留7INT_TXD23INT_RXD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD021主要設(shè)置各個外中斷源的觸發(fā)方式、濾波主要設(shè)置各個外中斷源的觸發(fā)方式、濾波9、外中斷控制寄存器、外中斷控制寄存器Register Address R/W Description Reset Value EXTINT0 0 x5600008
17、8 R/W 外中斷觸發(fā)方式寄存器外中斷觸發(fā)方式寄存器00 x0 EXTINT1 0 x5600008C R/W 外中斷觸發(fā)方式寄存器外中斷觸發(fā)方式寄存器10 x0 EXTINT2 0 x56000090 R/W 外中斷控制寄存器外中斷控制寄存器20 x022EINT07-中斷請求信號觸發(fā)方式選擇中斷請求信號觸發(fā)方式選擇000:低電平觸發(fā):低電平觸發(fā)001:高電平觸發(fā):高電平觸發(fā)01x:下降沿觸發(fā):下降沿觸發(fā)10 x:上升沿觸發(fā):上升沿觸發(fā)11x:雙邊沿觸發(fā):雙邊沿觸發(fā)第第3、7、11、15、19、23、27、31位位-保留保留15 14 13 12 11109876543210XEINT3XE
18、INT2XEINT1XEINT0(1)EXTINT0-外中斷觸發(fā)方式控制寄存器外中斷觸發(fā)方式控制寄存器031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16XEINT7XEINT6XEINT5XEINT423EINT815-中斷請求信號觸發(fā)方式選擇中斷請求信號觸發(fā)方式選擇000:低電平觸發(fā):低電平觸發(fā)001:高電平觸發(fā):高電平觸發(fā)01x:下降沿觸發(fā):下降沿觸發(fā)10 x:上升沿觸發(fā):上升沿觸發(fā)11x:雙邊沿觸發(fā):雙邊沿觸發(fā)第第3、7、11、15、19、23、27、31位位-保留保留15 14 13 12 11109876543210XEINT11XEIN
19、T10XEINT9XEINT8(2)EXTINT1-外中斷觸發(fā)方式控制寄存器外中斷觸發(fā)方式控制寄存器131 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16XEINT15XEINT14XEINT13XEINT1224EINT1623-外中斷請求信號觸發(fā)方式選擇外中斷請求信號觸發(fā)方式選擇000:低電平觸發(fā):低電平觸發(fā)001:高電平觸發(fā):高電平觸發(fā)01x:下降沿觸發(fā):下降沿觸發(fā)10 x:上升沿觸發(fā):上升沿觸發(fā)11x:雙邊沿觸發(fā):雙邊沿觸發(fā)第第3、7、11、15、19、23、27、31位位-為為FILTEN各引腳濾波控制位各引腳濾波控制位0:禁止濾波:禁止濾波
20、1:使能濾波:使能濾波15 14 13 12 11109876543210F19EINT19F18EINT18F17EINT17F16EINT16(3)EXTINT2-外中斷控制寄存器外中斷控制寄存器231 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16F23EINT23F22EINT22F21EINT21F20EINT2025中斷源的管理2627S3C2440A具有24個外部中斷分別連接至:GPG0-GPG15:外部中斷EINT8EINT23GPF0GPF7:外部中斷EINT0EINT7支持上升沿、下降沿、高電平、低電平、雙沿觸發(fā)設(shè)置步驟:設(shè)置步驟:
21、1. 設(shè)置觸發(fā)方式:上升沿、下降沿、高電平、低電平、雙沿觸發(fā)2. 清中斷源掛起寄存器、中斷服務(wù)寄存器(可選、防止原有中斷干擾)3. 設(shè)置中斷模式(IRQ或FIQ可選,默認(rèn)為IRQ)4. 設(shè)置中斷優(yōu)先級(可選,一般默認(rèn)即可)5. 打開外部中斷屏蔽6. 設(shè)置中斷服務(wù)入口程序進(jìn)入中斷:進(jìn)入中斷:1、清中斷源掛起寄存器2、清中斷服務(wù)寄存器 防止反復(fù)進(jìn)入中斷3、執(zhí)行中斷服務(wù)程序用到的寄存器:用到的寄存器:SRCPND INTPND INTMASKEXTINT0 EINTMASK EINTPEND中斷觸發(fā)方式選擇:中斷觸發(fā)方式選擇:000:低電平觸發(fā) 001:高電平觸發(fā)01x:下降沿觸發(fā) 10 x:上升沿
22、觸發(fā)11x:雙邊沿觸發(fā)在在2410init.s文件中與的中斷初始化部分文件中與的中斷初始化部分程序開始及中斷入口程序開始及中斷入口bResetHandler bHandlerUndef ;handler for Undefined modebHandlerSWI;handler for SWI interruptbHandlerPabort ;handler for PAbortbHandlerDabort ;handler for DAbortb.;reservedbHandlerIRQ;handler for IRQ interrupt bHandlerFIQ;handler for FI
23、Q interrupt本段意義:本段意義:利用后面定義的宏來展開上面各行,使其進(jìn)入它們所對利用后面定義的宏來展開上面各行,使其進(jìn)入它們所對應(yīng)的中斷服務(wù)子程序。應(yīng)的中斷服務(wù)子程序。中斷程序舉例中斷程序舉例32LTORG ;聲明一個數(shù)據(jù)緩沖池的開始聲明一個數(shù)據(jù)緩沖池的開始HandlerFIQ HANDLER HandleFIQHandlerIRQ HANDLER HandleIRQHandlerUndef HANDLER HandleUndefHandlerSWI HANDLER HandleSWIHandlerDabort HANDLER HandleDabortHandlerPabort HAN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年云南省昭通市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年安徽省淮南市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年廣東省潮州市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年廣西壯族自治區(qū)防城港市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年吉林省松原市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 陜西省安康市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版隨堂測試(下學(xué)期)試卷及答案
- 2024年給皂液機(jī)項(xiàng)目投資申請報告代可行性研究報告
- 2025年中小型電動機(jī)項(xiàng)目規(guī)劃申請報告
- 廣東省茂名市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版能力評測(上學(xué)期)試卷及答案
- 2024年海底撈項(xiàng)目項(xiàng)目投資申請報告代可行性研究報告
- 2025年統(tǒng)編版高考政治一輪復(fù)習(xí):選擇性必修1、2、3共3冊必背考點(diǎn)知識點(diǎn)匯編
- 貨物交接單和交接合同
- 《滅火應(yīng)急疏散預(yù)案》課件
- 【高分復(fù)習(xí)筆記】孫廣仁《中醫(yī)基礎(chǔ)理論》(第9版)筆記與考研真題詳解
- 造影劑過敏的護(hù)理
- 開題報告:高質(zhì)量數(shù)字教材建設(shè)機(jī)制及政策研究
- PE工程師工作總結(jié)
- 以案促改心得體會
- 華東師范大學(xué)《法學(xué)導(dǎo)論(Ⅰ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 空壓機(jī)操作安全培訓(xùn)
- 自然辯證法論述題146題帶答案(可打印版)
評論
0/150
提交評論