日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

arm linux 中断优先级,ARM中断处理过程

發(fā)布時(shí)間:2025/3/8 linux 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arm linux 中断优先级,ARM中断处理过程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

以s3c2440?ARM9核為例:

一:s3c2440 ARM處理器特性:

1、S3C2440支持60個(gè)中斷源,含子中斷源;

2、ARM9采用五級(jí)流水線方式;

3、支持外部中斷和內(nèi)部中斷;

二、s3c2440 支持的寄存器:

2.1 外部中斷寄存器

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

寄存器:

EXTINT0-EXTINT2:分別設(shè)置EINT0—EINT7、EINT8—EINT15、EINT16—EINT23的觸發(fā)方式(高電平觸發(fā)、低電平觸發(fā)、下降沿觸發(fā)、上升沿觸發(fā))。

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

EINTPEND:這個(gè)是中斷掛起寄存器,清除時(shí)要寫(xiě)1,后面還有幾個(gè)是寫(xiě)1清除。當(dāng)一個(gè)外部中斷(EINT4-EINT23)發(fā)生后,那么相應(yīng)的位會(huì)被置1。為什么沒(méi)有EINT0-EINT3,因?yàn)樗鼈兎謩e由SRCPND寄存器的后4位控制。

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

2.2 內(nèi)部中斷寄存器

內(nèi)部中斷有8個(gè)寄存器。

寄存器:

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

INTSUBMSK:與上一個(gè)是一樣的,中斷屏蔽寄存器。

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

INTMSK:用來(lái)屏蔽SRCPND寄存器所標(biāo)識(shí)的中斷。但只能屏蔽IRQ中斷,不能屏蔽FIQ中斷。

INTMOD:當(dāng)INTMOD中某位被設(shè)置為1時(shí),它對(duì)應(yīng)的中斷被設(shè)為FIQ,CPU將進(jìn)入快速中斷模式。

PRIORITY:用于設(shè)置IRQ中斷的優(yōu)先級(jí)。具體使用方法可參考芯片手冊(cè)。

INTPND:中斷優(yōu)先級(jí)仲裁器選出優(yōu)先級(jí)最高中斷后,這個(gè)中斷在INTPND寄存器中的相應(yīng)位被置1,隨后,CPU進(jìn)入中斷模式處理它。同一時(shí)間內(nèi),此寄存器只有一位被置1。

INTOFFSET:用來(lái)表示INTPND寄存器中哪位被置1了,即記錄INTPND中位[x]為1的位x的值。清除INTPND、SRCPND時(shí)自動(dòng)清除。

三、中斷處理流程

1、中斷控制器匯集各類(lèi)外設(shè)發(fā)出的中斷信號(hào),然后通知CPU。

2、CPU保存當(dāng)前程序的運(yùn)行環(huán)境,然后調(diào)用中斷服務(wù)程序(ISR),來(lái)處理中斷。

3、在ISR中通過(guò)讀取外設(shè)的相關(guān)的寄存器來(lái)識(shí)別中斷的類(lèi)型,并進(jìn)行相應(yīng)的處理。

4、清除中斷:通過(guò)讀寫(xiě)相關(guān)中斷控制寄存器和外設(shè)相關(guān)寄存器來(lái)實(shí)現(xiàn)。(注意消除中斷是必要的)

5、恢復(fù)被中斷程序的執(zhí)行環(huán)境,繼續(xù)執(zhí)行被中斷的程序。

四、代碼:

main.c

1 intmain()2 {3 ................4 //其他部分初始化

5 button_init();6 init_irq();7 while(1);8 return 0;9 }

interrupt.c

1 /*interrupt registes*/

2 #define SRCPND (volatile unsigned long *)0x4A000000

3 #define INTMOD (volatile unsigned long *)0x4A000004

4 #define INTMSK (volatile unsigned long *)0x4A000008

5 #define PRIORITY (volatile unsigned long *)0x4A00000c

6 #define INTPND (volatile unsigned long *)0x4A000010

7 #define INTOFFSET (volatile unsigned long *)0x4A000014

8 #define SUBSRCPND (volatile unsigned long *)0x4A000018

9 #define INTSUBMSK (volatile unsigned long *)0x4A00001c

10

11 #define EINTMASK (volatile unsigned long *)0x560000a4

12 #define EINTPEND (volatile unsigned long *)0x560000a8

13

14 voidinit_irq()15 {16

17 //對(duì)于EINT4,需要在EINTMASK寄存器中使能它

18 *(EINTMASK) &= ~(1<<4);19

20

21 //EINT0、EINT1、EINT2、EINT4_7使能

22 *(INTMSK) &= (~(1<<0)) & (~(1<<1)) & (~(1<<2)) & (~(1<<4));23

24 __asm__(25 /*開(kāi)中斷*/

26 "mrs r0,cpsr\n"

27 "bic r0, r0, #0x80\n"

28 "msr cpsr_c, r0\n"

29 :30 :31 );32 }33

34 voidhandle_int()35 {36 /*讀取產(chǎn)生中斷的源*/

37 unsigned long value = *(INTOFFSET);38

39 switch(value)40 {41 case 0: //EINT0~K4

42 led_on();43 break;44

45 case 1: //EINT1~K1

46 led_off();47 break;48

49 case 2: //EINT2~K3

50 led_on();51 break;52

53 case 4: //EINT4~K2

54 led_off();55 break;56

57 default:58 break;59 }60

61 /*中斷清除*/

62 if(value == 4)63 *(EINTPEND) = (1 << 4);64 *(SRCPND) = 1 <

start.S

1 irq:

2 sub lr, lr, #4

3 stmfd sp!, {r0-r12, lr} /* 保護(hù)現(xiàn)場(chǎng) */4 bl handle_int5 ldmfd sp!, {r0-r12, pc}^ /* 恢復(fù)現(xiàn)場(chǎng),^表示把spsr恢復(fù)到cpsr */

五:部分代碼解釋:

sub lr, lr, #4

總結(jié)

以上是生活随笔為你收集整理的arm linux 中断优先级,ARM中断处理过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩中文字幕一区二区 | 嫩草影院黄| 狠狠躁夜夜躁av无码中文幕 | 日本不卡123| 国产精品国产三级国产普通话蜜臀 | 亚洲每日在线 | 欧美三级手机在线观看 | 精品人妻伦一区二区三区久久 | a√天堂资源在线 | 色婷网| 欧美精品一区在线观看 | 中文字幕第23页 | 拔擦8x成人一区二区三区 | 国产97av| 伊人久久大香线蕉综合网站 | 97caoporn| 日日夜夜综合 | 亚洲av无码专区在线电影 | 亚洲国产视频网站 | 成人精品一区二区三区视频 | 男生操女生在线观看 | 色视频在线免费观看 | 国产日韩欧美在线观看 | 中文字幕一区二区三区乱码人妻 | 欧美一区视频在线 | 在线看片网址 | 精品一区二区三区无码按摩 | 91精品国自产 | 亚洲av无一区二区三区久久 | 国产三级三级看三级 | 亚洲国产精品一区二区三区 | 在线欧美成人 | 九九热视频在线观看 | 成人网免费视频 | 久久久国产网站 | 国产精品日韩一区二区三区 | 久久精品这里有 | 精品国产免费人成在线观看 | 爱av导航| 久久综合操 | av黄色免费网站 | 在线免费中文字幕 | 国产精品一区麻豆 | 这里只有精品在线观看 | 成 人片 黄 色 大 片 | 色综合视频在线观看 | 国产国语对白 | 一区二区在线 | 肮脏的交易在线观看 | 丝袜中文字幕 | 美国黄色av | 国产一区二区三区视频在线播放 | 骑骑上司妻电影 | 久久99国产精品成人 | 性一交一乱一伧老太 | 99久久99久久精品国产片 | 中文在线免费看视频 | 国产一区二区自拍 | 95久久| 欧美韩国日本 | 在线视频精品 | 人人九九精品 | 久久国产精品久久精品国产 | 天躁夜夜躁狼狠躁 | 激情综合影院 | 免费av一区二区 | 国产 日韩 欧美 成人 | 国产日韩欧美综合 | 神马久久久久久久久久久 | 欧洲av在线 | 91天天干 | 成人综合激情网 | 妺妺窝人体色www在线下载 | www.com日本| 高清日韩av | 欧美日韩三级在线 | 在线免费中文字幕 | 美女洗澡无遮挡 | 97自拍视频 | 日韩av在线播 | 亚洲视频免费在线观看 | 国产成人精品影院 | 久久大 | 台湾swag在线观看 | 午夜神马影院 | 国产极品粉嫩 | 天堂在线官网 | 成人性视频sm. | 国产美女作爱视频 | 国产视频精品自拍 | 黄色一级片av | 亚洲成a人片777777久久 | 欧美精品第一页 | 亚洲精品国产成人 | 亚洲成人第一网站 | 激情春色网| 波多野结衣在线一区 | 干老太太视频 | 国产精品ⅴa有声小说 |