在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 外部中斷處理和內(nèi)部中斷處理的差異性

            外部中斷處理和內(nèi)部中斷處理的差異性

            作者: 時(shí)間:2013-08-29 來源:網(wǎng)絡(luò) 收藏

            相關(guān)處理程序可參考圖表 5。在ARC a時(shí),當(dāng)ireqack訊號為low時(shí),CPU可等待周邊裝置觸發(fā)中斷。當(dāng)周邊裝置觸發(fā)中斷,外部中斷控制器將相對應(yīng)中斷訊號int_req和ireqval拉起,告知CPU有中斷發(fā)生。在ARC b時(shí),當(dāng)CPU收到中斷,則將ireqack訊號拉起,告知外部中斷控制器已收到中斷。在ARC c時(shí),外部中斷控制器將ireqval訊號拉下,并等待CPU將ireqack訊號拉下(在ARC d時(shí)),表示CPU可接收新的中斷觸發(fā)。

            外部中斷處理和內(nèi)部中斷處理的差異性

            1.3 System Register Setting

            關(guān)于上述兩種中斷模式的選擇,用戶可透過設(shè)定AndesCore? N968A-S內(nèi)部的一個(gè)system register來達(dá)到目的。

            該system register為Interruption Vector Base Register(ir3)。其中的第13個(gè)bit決定不同的中斷模式。其格式如下:

            QQ截圖20130808131410.jpg

            2. Reference Design Architecture

            在介紹完中斷處理模式相關(guān)定義之后,本章節(jié)提供在實(shí)際整合與應(yīng)用上的范例,讓用戶可更了解在不同中斷處理模式下的差異。

            2.1 主要架構(gòu)

            本次所實(shí)作的Reference Design主要是架構(gòu)在Andes mini-platform上,搭配AndesCore? N968A-S為主要CPU來控制相關(guān)周邊裝置。其主要架構(gòu)如下圖:

            外部中斷處理和內(nèi)部中斷處理的差異性

            將AndesCore? N968A-S整合在AHB-Lite Bus上,藉由APB Bridge和APB Bus溝通,而相關(guān)的周邊裝置則整合在APB Bus上。在本次范例中,主要會用到GPIO和INTC(中斷控制器)這兩個(gè)周邊裝置,在不同的中斷模式下,利用GPIO來觸發(fā)中斷,再透過INTC與CPU溝通,觀察不同中斷模式下中斷的處理方式。

            2.1.1 Design Scenario in IVIC

            在IVIC模式下,由GPIO觸發(fā)中斷(gpio_int signal),直接將中斷傳遞給CPU(int_req signal)。當(dāng)CPU接收到中斷時(shí),即可去處理相關(guān)的中斷處理程序。相關(guān)裝置之間的整合如下圖所示:

            QQ截圖20130808131610.jpg

            2.1.2 Design Scenario in EVIC

            在EVIC模式下,由GPIO觸發(fā)中斷(gpio_int signal),INTC收到中斷后,會將中斷訊號和相關(guān)溝通訊號傳遞給CPU(int_req signal evic_ireqval signal)。當(dāng)CPU接收到中斷時(shí),會將響應(yīng)訊號拉起(evic_ireqack signal),告知INTC收到該中斷,并去處理相關(guān)的中斷處理程序。相關(guān)裝置之間的整合如下圖所示:

            QQ截圖20130808131707.jpg

            2.2 Example Code

            以下將Reference Design中,就本次中斷處理模式相關(guān)的整合程序部分和測試程序部分,摘要出來說明。

            2.2.1 整合程序部分

            在系統(tǒng)整合部分,包含AndesCore? N968A-S和INTC在不同的模式下,整合相關(guān)的訊號線,其中透過EVIC_MODE參數(shù)來進(jìn)行不同模式間的切換。

            AndesCore? N968A-S相關(guān)RTL片斷:

            evic_ireqval訊號在EVIC模式下由INTC觸發(fā)給CPU,在IVIC下可直接給予0值。int_req由INTC或中斷來源傳遞給CPU,告知CPU中斷產(chǎn)生。evic_ireqack在EVIC模式下由CPU觸發(fā)給INTC,告知INTC收到中斷。

            n9_core n9_core (

            ...

            `ifdef EVIC_MODE

            .evic_ireqval (evic_ireqval),

            `else

            .evic_ireqval (1'b0),

            `endif

            .int_req (int_req),

            .evic_ireqack (evic_ireqack),

            ...

            INTC相關(guān)RTL片斷:

            此中斷控制器可透過evic_mode這個(gè)輸入訊號,來決定該裝置是處于IVIC模式或是EVIC模式,因此,在EVIC模式下,給予1值,設(shè)定為EVIC模式,在IVIC下,給予0值,設(shè)定為IVIC模式。ireqack訊號在EVIC模式下由CPU觸發(fā)給INTC,告知INTC已收到中斷,在IVIC模式下則給予0值。

            ncore_intctl intctl (

            .PCLK (pclk),

            .PRSTn (preset_n~wd_rst),

            `ifdef EVIC_MODE

            .evic_mode (1'b1),

            .ireqack (evic_ireqack),

            `else

            .evic_mode (1'b0),

            .ireqack (1'b0),

            `endif

            .int_req (int_req),

            .ireqval (evic_ireqval),

            ...

            2.2.2 測試程序部分

            在測試驗(yàn)證部分,包含AndesCore? N968A-S在不同中斷模式下的設(shè)置、INTC相關(guān)中斷狀態(tài)的設(shè)置和GPIO觸發(fā)中斷的設(shè)置。

            AndesCore? N968A-S相關(guān)程序片斷:

            AndesCore? N968A-S支持兩種中斷處理模式,透過CPU內(nèi)部的system register來設(shè)置。主要為設(shè)置Interruption Vector Base Register,該register的第13個(gè)bit用來定義CPU處在何種中斷處理模式。在EVIC模式下,需將該bit設(shè)置為1,在IVIC模式下,則將該bit設(shè)置為0。

            !---------------!

            !--- Set $IVB ---!

            !---------------!

            ! [31:16] (IVBASE) = 16'$h0

            ! [15:14] (ESZ) = 2'b00 (4 bytes)

            ! [13] (EVIC) = 1'b0 (IVIC mode)

            mfsr $r0, $IVB !read $IVB

            ori $r0, $r0, #0x2000 !enable EVIC



            評論


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

            關(guān)閉