国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2737|回復(fù): 0
打印 上一主題 下一主題

為你破析ARM中斷寄存器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2017-4-25 10:23:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)鍵詞: ARM , 中斷寄存器
S3C2440的中斷寄存器:

1.中斷分兩大類:內(nèi)部中斷和外部中斷。

2.外部中斷。24個(gè)外部中斷占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用這些腳做中斷輸入,則必須配置引腳為中斷,并且不要上拉。具體參考datesheet數(shù)據(jù)手冊(cè)。

寄存器:EXTINT0-EXTINT2:三個(gè)寄存器設(shè)定EINT0-EINT23的觸發(fā)方式。

EINTFLT0-EINTFLT3:控制濾波時(shí)鐘和濾波寬度。

EINTPEND:這個(gè)是中斷掛起寄存器,清除時(shí)要寫1,后面還有幾個(gè)是寫1清除。當(dāng)一個(gè)外部中斷(EINT4-EINT23)發(fā)生后,那么相應(yīng)的位會(huì)被置1。為什么沒有EINT0-EINT3,呵呵,看看SRCPND就知道了,里面沒有EINT4-EINT23的位子,所以有了EINTPEND。

EINTMASK:這個(gè)簡單,是屏蔽中斷用的,也就是說位為1時(shí),此次中斷無效。

3.內(nèi)部中斷。內(nèi)部中斷有8個(gè)寄存器,下面逐一來看。

寄存器:SUBSRCPND:當(dāng)一個(gè)中斷發(fā)生后,那么相應(yīng)的位會(huì)被置1,表示一個(gè)中斷發(fā)生了。

INTSUBMSK:與上一個(gè)是一伙的,中斷屏蔽寄存器,具體屏蔽什么,自己看手冊(cè)去吧。

INTMOD:中斷的方式。一個(gè)中斷可以是普通中斷,也可以是快中斷,在這里設(shè)置,但只能有一個(gè)快中斷。

PRIORITY :優(yōu)先級(jí)寄存器,不說了。

SRCPND :當(dāng)一個(gè)中斷發(fā)生后,那么相應(yīng)的位會(huì)被置1,表示一個(gè)或一類中斷發(fā)生了。

INTMSK :中斷屏蔽寄存器。

INTPND :中斷發(fā)生后,SRCPND中會(huì)有位置1,可能好幾個(gè)(因?yàn)橥瑫r(shí)可能發(fā)生幾個(gè)中斷),這些中斷會(huì)由優(yōu)先級(jí)仲裁器選出一個(gè)最緊迫的,然后吧把INTPND中相應(yīng)位置1,所以同一時(shí)間只有一位是1。也就是說前面的寄存器置1是表示發(fā)生了,只有INTPND置1,CPU才會(huì)處理。

INTOFFSET :用來表示INTPND中哪一位置1了,好讓你查詢,普通中斷跳轉(zhuǎn)時(shí)查詢用。清除INTPND、SRCPND時(shí)自動(dòng)清除。

4.各寄存器關(guān)系:


下面看圖說明:

5.中斷過程。

a 如果是不帶子中斷的內(nèi)部中斷:發(fā)生后SRCPND相應(yīng)位置1,如果沒有被INTMSK屏蔽,那么等待進(jìn)一步處理。

b 如果是帶子中斷的內(nèi)部中斷:發(fā)生后SUBSRCPND相應(yīng)位置1,如果沒有被INTSUBMSK屏蔽,那么SRCPND相應(yīng)位置1,等待進(jìn)一步處理,幾個(gè)SUBSRCPND可能對(duì)應(yīng)同一個(gè)SRCPND,對(duì)應(yīng)表如下:

SRCPND SUBSRCPND

INT_UART0 INT_RXD0,INT_TXD0,INT_ERR0

INT_UART1 INT_RXD1,INT_TXD1,INT_ERR1

INT_UART2 INT_RXD2,INT_TXD2,INT_ERR2

INT_ADC INT_ADC_S, INT_TC

INT_CAM INT_CAM_C, INT_CAM_P

INT_WDT_AC97 INT_WDT, INT_AC97

c 如果是外部中斷:EINT0-EINT3發(fā)生后SRCPND相應(yīng)位置1,如果沒有被INTMSK屏蔽,那么等待進(jìn)一步處理。EINT4-EINT23發(fā)生后EINTPEND相應(yīng)位置1,如果沒有被EINTMASK屏蔽,那么SRCPND相應(yīng)位EINT4-7 或EINT8-23置1,如果沒有被INTMSK屏蔽,等待進(jìn)一步處理,幾個(gè)EINTPEND對(duì)應(yīng)同一個(gè)SRCPND,對(duì)應(yīng)表如下:

SRCPND EINTPEND

EINT0 EINT0

EINT1 EINT1

EINT2 EINT2

EINT3 EINT3

EINT4-7 EINT4-EINT4

EINT8-23 EINT8-EINT23

三種中斷都等待進(jìn)一步處理了。接下來從SRCPND往下看,看INTMSK。如果中斷被屏蔽了,就不用說了(注意:快中斷也能被屏蔽)。如果沒有被屏蔽,那么會(huì)進(jìn)一步到INTMOD。如果是快中斷,那么直接出來,進(jìn)入FIQ(即CPU進(jìn)入快中斷模式處理)。如果是普通中斷,那么SRCPND可以有多為置1(FIQ只能有一個(gè)),這時(shí)就會(huì)經(jīng)過PRIORITY選出一個(gè)優(yōu)先級(jí)高的,然后把根據(jù)選出的中斷把INTPND相應(yīng)位置1(注意:只能選出一個(gè)),進(jìn)入IRQ,讓CPU處理。

6.中斷的開啟。

a.如果是不帶子中斷的內(nèi)部中斷,只需設(shè)置INTMSK,讓它不屏蔽中斷就可以了。

b 如果是帶子中斷的內(nèi)部中斷,需設(shè)置INTSUBMSK和INTMSK,讓它門不屏蔽中斷就可以了。

c 如果是外部中斷,對(duì)于EINT8-23需要設(shè)置EINTMASK和INTMSK。對(duì)于EINT0-EINT3只需設(shè)置INTMSK。

7.中斷的清除。更多技術(shù)交流可加qq2232894713

a.如果是不帶子中斷的內(nèi)部中斷,只需清除SRCPND,注意清除需位置1。

b 如果是帶子中斷的內(nèi)部中斷,需清除SRCPND和SUBSRCPND,注意先清除SUBSRCPND,再清除SRCPND。因?yàn)�,如果你先清除SRCPND的話,然后在清除SUBSRCPND的過程中,SRCPND會(huì)以為又有中斷發(fā)生,又會(huì)置1。也就是說一次中斷會(huì)響應(yīng)兩次。所以必須先掐斷源頭。

c 如果是外部中斷,對(duì)于EINT8-23需要清除EINTPEND和SRCPND(同樣注意順序)。對(duì)于EINT0-EINT3只需清除SRCPND。






本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品九九九久久九九 | 四虎影院新地址 | 91国在线高清视频 | 女人扒开腿让男人桶到爽 | 免费黄址 | 羞羞人成午夜爽爽影院 | 欧美日韩高清在线观看一区二区 | 九九久 | 午夜色视频在线观看 | 免费人成毛片乱码 | 在线观看免费精品国产 | 久久国产片 | 免费高清在线影片一区 | 日本不卡视频一区二区 | 成人黄色免费看 | 国产精品日本不卡一区二区 | 99视频全部免费精品全部四虎 | 一区二区三区日韩 | 国产精品中文 | 亚洲国产一区二区三区 | 日韩污网站 | 天天干天天色综合网 | 嘛豆传媒国产剧情 | 狠狠插入视频 | 1314亚洲人成网站在线观看 | 中文字幕五月天 | 国产高清在线视频 | 亚洲欧洲日产国码久在线观看 | 成年人免费黄色片 | 手机成人在线视频 | 99久久免费精品国产免费 | 国产产一区二区三区久久毛片国语 | 麻豆精品在线视频 | 男男涩涩 | 国产乱码精品一区二区三区中 | 国产男人天堂 | 欧洲精品码一区二区三区免费看 | 久久久这里有精品999 | 亚洲成网站www久久九 | 8050午夜一级二级全黄 | 欧美在线看片 |