下面就來用按鍵K2實現中斷的詳細流程
1> 確定想用哪個按鍵(自己定,比如K2)
2> 看板子,找到那個按鍵,板子上印的名字是K2 3> 查看原理圖找到K2對應的GPIO管腳
a> 看開發板的原理圖,在開發板原理圖里面找K2,發現對應的接線UART_RING
b> 查找UART_RING,發現接的是CON4的58腳
c> 知道CON4是開發板與核心板之間的接口,開發板的CON4對應核心板的CON3 (此信息來源可以咨詢硬件工程師,或者自己從板子上找,可能需要把核心板和開發板分離才看得到)
d> 去核心板的原理圖去繼續找UART_RING,能找到它對應的是GPX1_1管腳,此管腳對應XEINT9
4> 查看芯片手冊,看GPX1是怎么用的
配置GPX1CON,需要把GPX1_1配置成外部中斷模式,即選擇EXT_INT41[1],對應的是EXT_INT41 (通過學習芯片手冊,或者通過參考別人的程序,或者參考芯片公司提供的參考方案,或者請教有經驗的人)
5> 查看芯片手冊,看EXT_INT41是怎么用的
配置EXT_INT41CON,設置外部中斷的觸發方式,比如設置成下降沿觸發
配置EXT_INT41_MASK,打開中斷開關 (通過學習芯片手冊,或者通過參考別人的程序,或者參考芯片公司提供的參考方案,或者請教有經驗的人)
6> 查看芯片手冊,看XEINT9是怎么用的,第9章
查看中斷源表 Table 9-2,查到外部中斷EINT9對應的是SPI25號,ID
是57
(通過學習芯片手冊,或者通過參考別人的程序,或者參考芯片公司提供的參考方案,或者請教有經驗的人)
7> 編寫程序
a> 先搭框架:一個初始化函數,一個中斷處理函數 b> 具體實現
配置:
第一階段: 1 6.2.3.198 GPX1CON 配置GPX1_1管腳為外部中斷
26.2.3.211EXT_INT41CON配置中斷的觸發方式
36.2.3.223EXT_INT41_MASK打開管腳中斷(使能中
斷)
(GIC)第二階段:
19.5.1.16 ICDISER_CPU使能相應(57號)中斷
29.5.1.21 ICDIPR_CPU設置中斷優先級
3 9.5.1.22 ICDIPTR_CPU 把57號中斷交給那個 CPU處理(CPU0)
49.5.1.12 ICDDCR使能CPU0中斷
59.5.1.2 ICCPMR_CPUn設置CPU0的中斷優先級掩碼為不屏
蔽
69.5.1.1 ICCICR_CPUn使能GIC中斷總開關
處理:
第三階段:
19.5.1.4 ICCIAR_CPUn得到中斷號57
處理中斷
26.2.3.227 EXT_INT41_PEND 清除管腳中斷標志(必須清)
3 9.5.1.19 ICDICPR_CPU 清除GIC控制器的57號中斷標志
4 9.5.1.5 ICCEOIR_CPUn 結束中斷
中斷處理函數
1. 匯編部分
保護現場調用C部分恢復現場
2. C部分
提取中斷ID號,ICCIAR_CPU0
根據ID號做不同的處理
清除中斷標志位,ICDICPR1_CPU0,EXT_INT41_PEND
中斷結束,ICCEOIR_CPU0 c> 編譯程序 make
d> 下載編譯好的程序到板子的內存里運行
配置K2為中斷源
一、接線:
1、在開發板上找到K2連接的是UART_RING
二、查芯片手冊
配置:
1、配置GPX1_1管腳為外部中斷
2、配置中斷觸發方式為下降沿觸發
3、打開管腳中斷,使能中斷
4、使能相應中斷
ICDISER1_CPU0=ICDISER1_CPU0|(1<(57-32))
6、把中斷57交給CPU0處理
每個中斷交給那個CPU處理由8個bit位描述,例如交給核心0處理,那么對應的8bit位為0b00000001,一共160個中斷源,160*8/32=40,所以每個核心需要40個對應的寄存器
ICDIPTR14_CPU0=ICDIPTR14_CPU0&~(0xFF<<8)|(1<<8)
5、設置中斷優先級
ICDIPR14_CPU0=ICDIPR14_CPU0&~(0xFF<<8)|(12<<8) 7、打開CPU0中斷
ICDDCR=1
8、設置CPU0的中斷優先級掩碼為不屏蔽
中斷優先級掩碼默認為0,屏蔽所有中斷,需要設置0-7bit位為0XFF,響應所有中斷。ICCPMR_CPU0=0xFF 9、使能GIC中斷總開關
ICCICR_CPU0=1
中斷處理:
1、得到中斷號
ICCIAR_CPU0 & (0x3FF)
2、清除管腳中斷標志
EXT_INT41_PEND |= 1 << 1
3、清除GIC控制器的SPI 25(57)中斷標志
ICDICPR1_CPU0 |=1<< (57-32)
4、結束中斷
ICCEORIR_CPU0 = ICCEORIR_CPU0 & ~(0x3FF) | iNum
华清图书馆
0元电子书,限时免费申领10本华清图书PDF版
扫码关注华清远见公众号