在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            S3C2410中斷寄存器

            作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
            S3C2410有24個(gè)外部中斷引腳:EINT0~EINT23,但是對于EINT0~EINT3這4個(gè)外部中斷而言,使用比較簡單;對于其它20個(gè)而言,使用稍稍復(fù)雜一些。

            首先,來看S3C2410的中斷控制器,有6個(gè)中斷裁決器分為2級,第1級5個(gè), 第2級1個(gè)。第1級的5個(gè)裁決器管理32個(gè)中斷源,在這32個(gè)中斷源中有2個(gè)是保留的,24個(gè)是給內(nèi)部中斷源的,而外部中斷只給了6個(gè)中斷:EINT0、 EINT1、EINT2、EINT3、EINT4~7、EINT8~23。EINT4~EINT7、EINT8~EINT23都是共享一個(gè)中斷。

            本文引用地址:http://www.biyoush.com/article/201611/316224.htm

            中斷控制器中主要的相關(guān)寄存器有:INTMSK、SRCPND、PRIORITY、INTPND,還有一個(gè)INTMOD。但是對于外部中斷還有幾個(gè)寄存器:EXTINTn、EINTMSK、EINTPEND等。

            對于外部中斷EINT0~EINT3由于沒有共享,因此外部寄存器中只有EXTINT0和它們有關(guān),進(jìn)行中斷觸發(fā)電平信號的設(shè)置。

            但是對于其他的20個(gè)外部中斷而言,所有上面提到的寄存器都有關(guān)系。實(shí)際上對于 EINT4~EINT23,實(shí)際上可以看作有3級屏蔽,第1級屏蔽是CPSR中的I-Bit和F-Bit,第2級屏蔽是EINTMASK([4:23]每 一位對應(yīng)一個(gè)相應(yīng)的外部中斷),第3級屏蔽是INTMSK(Bit4、Bit5);對于EINT0~EINT3而言,只是INTMSK中的 Bit0~Bit3,因此在變成初始化時(shí)應(yīng)該要特別注意。

            在外部中斷有中斷請求時(shí),由于EINT4~7、EINT8~23分別共享中斷,因 此在SRCPND中分別對應(yīng)Bit4、Bit5,最終導(dǎo)致INTPND中的相應(yīng)位置1(在任何時(shí)刻只能有一個(gè)位置1),但是如何分辨這些共享的中斷?可以 通過查詢EINTPEND來進(jìn)行(Bit4~Bit23分別對應(yīng)1個(gè)外部中斷)。由于在相應(yīng)中斷后在服務(wù)例程中應(yīng)將掛起寄存器中相應(yīng)的位清0來清除未處理 狀態(tài),因此對于EINT4~7、EINT8~23這20個(gè)外部中斷的清除掛起寄存器的順序是:

            1. EINTPEND(可能多位同事為1),方法:向要清0的位寫1,其它位寫0,但要注意由于第4位保留,因此不要試圖向第4位寫1,可能會導(dǎo)致不可預(yù)料的結(jié)果。

            2.SRCPND(可能多位同時(shí)為1),方法:向要清0的位寫1,其它位寫0。

            3.INTPND,方法:向其寫本身的數(shù)據(jù)(即INTPND=INTPND)。

            下面具體介紹各個(gè)寄存器的功能:

            SRCPND(Source Pending Register)寄存器有效位32位,可讀寫,每一位涉及到一個(gè)中斷源,SRCPND是主中斷源引腳寄存器,某個(gè)位被置1表示相應(yīng)的中斷被觸發(fā),但我們知道在同一時(shí)刻內(nèi)系統(tǒng)可以觸發(fā)若干個(gè)中斷,只要中斷被觸發(fā)了,SRCPND的相應(yīng)位便被置1,也就是說SRCPND 在同一時(shí)刻可以有若干位同時(shí)被置1,另外,此寄存器不受中斷控制器的優(yōu)先權(quán)邏輯的影響。如果此中斷沒有被INTMSK寄存器屏蔽、或者是快中斷(FIQ)的話,它將被進(jìn)一步處理。通過寫數(shù)據(jù)到這個(gè)寄存器能清除SPCPND相應(yīng)的位。

            INTMODE(Interrupt Mode Register)寄存器有效位為32位,可讀寫,每一位與SRCPND中各位相對應(yīng),它的作用是指定該位相應(yīng)的中斷源處理模式(IRQ還是FIQ)。若某位為0,則該位相對應(yīng)的中斷按IRQ模式處理,為1則以FIQ模式進(jìn)行處理,該寄存器初始化值為0x00000000,即所有中斷皆以IRQ模式進(jìn)行處理。此中斷控制器中只有一個(gè)中斷源能用FIQ mode(在緊急中斷下使用FIQ mode),因此INTMODE僅有一位能置1。

            INTMSK(Interrupt Mask Register)寄存器有效位為32位,可讀寫,INTMSK為主中斷屏蔽寄存器與SRCPND寄存器對應(yīng),它的作用是決定該位相應(yīng)的中斷請求是否被處理。若某位被設(shè)置為1,則該位相對應(yīng)的中斷產(chǎn)生后將被忽略(CPU不處理該中斷請求),設(shè)置為0則CPU對其進(jìn)行處理。該寄存器初始化值為0xFFFFFFFF,既默認(rèn)情況下所有的中斷都是被屏蔽的。

            PRIORITY(IRQ PRIORITY Control Register)寄存器有32位,有效位[20:0],可讀寫,此寄存器的作用是如果有幾個(gè)中斷源同時(shí)觸發(fā),按照圖2.2.1的流向,假如這幾個(gè)中斷源都沒被屏蔽,并且都是IRQ模式,因此就要判定哪個(gè)中斷源的優(yōu)先級最高,使其在INTPND寄存器中對應(yīng)位置1,CPU轉(zhuǎn)向相應(yīng)的中斷服務(wù)程序,讓中斷服務(wù)程序來處理相應(yīng)的中斷請求。

            INTPND(Interrupt Pending Register)寄存器有效位為32位,可讀寫,看起來和SRCPND寄存器一樣,其實(shí)他們在功能上有著重大的區(qū)別。他在某一時(shí)刻只能有1個(gè)位被置1,INTPND 某個(gè)位被置1(該位對應(yīng)的中斷在所有已觸發(fā)的中斷里具有最高優(yōu)先級且該中斷沒有被屏蔽),則表示CPU即將或已經(jīng)在對該位相應(yīng)的中斷進(jìn)行處理。因此SRCPND寄存器說明有什么中斷被觸發(fā)了,而INTPND寄存器說明CPU即將或已經(jīng)在對某一個(gè)中斷進(jìn)行處理。

            INTOFFSET(Interrupt Offset Register)寄存器有效位為32位,只讀,此寄存器的值顯示IRQ mode的哪個(gè)中斷請求在INTPND寄存器中,通過清SRCPND和INTPND這位能自動清除,F(xiàn)IQ mode中斷不會影響INTOFFSET寄存器,因此此寄存器僅對IRQ mode中斷有效。

            SUBSRCPND(Sub Source Pending Register)寄存器有32位,有效位[10:0],可讀寫,它們中的每一位分別代表一個(gè)中斷源,SRCPND是主中斷源引腳寄存器,它是副中斷源引腳寄存器,情況類似SRCPND。 INTSUBMSK(Interrupt Sub Mask Register)寄存器有32位但有效位為11位,可讀寫,如果mask bit位是0,此中斷請求被服務(wù),情況類似INTMSK。



            關(guān)鍵詞: S3C2410中斷寄存

            評論


            技術(shù)專區(qū)

            關(guān)閉