久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 嵌入式學習筆記(ji):arm按鍵中斷實現流程(cheng)

嵌入式(shi)學習筆記:arm按(an)鍵中斷實現流程(cheng) 時間:2018-09-14    ;  來源:未知

下面就(jiu)來用按鍵K2實(shi)現(xian)中(zhong)斷的詳(xiang)細流程

1> 確(que)定(ding)想用哪個按鍵(自己(ji)定(ding),比(bi)如K2)

2> 看板(ban)子,找(zhao)(zhao)到那個按鍵,板(ban)子上印的名字是K2 3> 查看原理圖找(zhao)(zhao)到K2對應的GPIO管腳

a> 看開(kai)發板的原理圖(tu)(tu),在開(kai)發板原理圖(tu)(tu)里面找K2,發現對應的接線UART_RING

b> 查找UART_RING,發現(xian)接的是CON4的58腳

c> 知道CON4是開(kai)發(fa)板(ban)與核心板(ban)之(zhi)間的接口,開(kai)發(fa)板(ban)的CON4對應核心板(ban)的CON3 (此(ci)信息來源可以(yi)咨(zi)詢(xun)硬(ying)件工程(cheng)師,或者自己(ji)從板(ban)子(zi)上找,可能(neng)需要把核心板(ban)和開(kai)發(fa)板(ban)分離才看(kan)得(de)到)

d> 去核心(xin)板的(de)原理圖(tu)去繼續找(zhao)UART_RING,能找(zhao)到它對(dui)應(ying)的(de)是GPX1_1管腳,此(ci)管腳對(dui)應(ying)XEINT9

4> 查看芯片手冊,看GPX1是怎么用的

配置GPX1CON,需要把(ba)GPX1_1配置成外部(bu)中斷模(mo)式,即選(xuan)擇EXT_INT41[1],對(dui)應的(de)是(shi)EXT_INT41 (通過學習芯片(pian)手冊,或者通過參(can)考別人的(de)程序,或者參(can)考芯片(pian)公司提(ti)供的(de)參(can)考方案,或者請(qing)教有經驗的(de)人)

5> 查(cha)看芯片手冊(ce),看EXT_INT41是怎么(me)用的

配置EXT_INT41CON,設置外部中斷的觸發(fa)方式(shi),比如設置成(cheng)下(xia)降沿(yan)觸發(fa)

配置EXT_INT41_MASK,打開中斷開關(guan) (通過學(xue)習芯片手冊,或者通過參考(kao)(kao)別人的(de)程序,或者參考(kao)(kao)芯片公司(si)提供(gong)的(de)參考(kao)(kao)方案,或者請教有(you)經(jing)驗的(de)人)

6> 查(cha)看芯片手(shou)冊,看XEINT9是怎么(me)用的,第9章(zhang)

查(cha)看中斷源表 Table 9-2,查(cha)到(dao)外部中斷EINT9對應的是SPI25號,ID

是57

(通過(guo)學習(xi)芯片(pian)手冊,或(huo)者通過(guo)參(can)考(kao)別人的程序(xu),或(huo)者參(can)考(kao)芯片(pian)公(gong)司(si)提(ti)供的參(can)考(kao)方(fang)案,或(huo)者請教有經驗的人)

7> 編寫(xie)程序

a> 先搭(da)框(kuang)架:一個初始化(hua)函數,一個中斷處理函數 b> 具體實現

配置:

第(di)一(yi)階段: 1 6.2.3.198 GPX1CON 配置GPX1_1管腳為外(wai)部(bu)中斷

26.2.3.211EXT_INT41CON配(pei)置中斷的觸(chu)發方式

 36.2.3.223EXT_INT41_MASK打(da)開管(guan)腳(jiao)中斷(duan)(使能中

斷)

(GIC)第二(er)階段(duan):

19.5.1.16 ICDISER_CPU使能相應(57號(hao))中(zhong)斷

29.5.1.21 ICDIPR_CPU設置(zhi)中斷優先級

3 9.5.1.22 ICDIPTR_CPU 把57號中斷交(jiao)給那(nei)個(ge) CPU處理(CPU0)

49.5.1.12 ICDDCR使能CPU0中斷

59.5.1.2 ICCPMR_CPUn設置CPU0的中斷(duan)優(you)先級掩碼為不屏

69.5.1.1 ICCICR_CPUn使能GIC中斷總開(kai)關

處理:

第三階段:

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 結束中斷

中(zhong)斷處理函數

1. 匯編部分

保護現場調用C部分恢(hui)復現場

2. C部分

提取中斷ID號,ICCIAR_CPU0

根(gen)據ID號做(zuo)不(bu)同的處理

清除中斷標志位(wei),ICDICPR1_CPU0,EXT_INT41_PEND

中(zhong)斷(duan)結(jie)束,ICCEOIR_CPU0 c>; 編譯程序(xu) make

d> 下載編譯好(hao)的(de)程序到板子的(de)內(nei)存里運(yun)行

配置(zhi)K2為(wei)中(zhong)斷源

一、接線:

1、在(zai)開發板(ban)上找(zhao)到K2連接的(de)是UART_RING

二、查芯片(pian)手(shou)冊

配置:

1、配置GPX1_1管腳為外部中(zhong)斷

2、配置中斷(duan)觸發方(fang)式為下降沿觸發

3、打開(kai)管腳(jiao)中斷(duan),使能中斷(duan)

4、使能相應(ying)中(zhong)斷

ICDISER1_CPU0=ICDISER1_CPU0|(1<(57-32))

6、把中斷57交給CPU0處理

 

每(mei)個(ge)(ge)(ge)中(zhong)斷交給那個(ge)(ge)(ge)CPU處(chu)理由8個(ge)(ge)(ge)bit位描(miao)述,例如交給核心0處(chu)理,那么對(dui)應的8bit位為0b00000001,一(yi)共(gong)160個(ge)(ge)(ge)中(zhong)斷源,160*8/32=40,所以(yi)每(mei)個(ge)(ge)(ge)核心需要40個(ge)(ge)(ge)對(dui)應的寄存器

ICDIPTR14_CPU0=ICDIPTR14_CPU0&~(0xFF<<8)|(1<&lt;8)

5、設置中斷優先級

ICDIPR14_CPU0=ICDIPR14_CPU0&~(0xFF<<8)|(12<<8) 7、打(da)開CPU0中斷

ICDDCR=1

8、設(she)置CPU0的(de)中斷優先級(ji)掩碼為不屏蔽

中斷(duan)(duan)優先(xian)級(ji)掩(yan)碼默認(ren)為0,屏蔽(bi)所有中斷(duan)(duan),需要(yao)設置(zhi)0-7bit位為0XFF,響應(ying)所有中斷(duan)(duan)。ICCPMR_CPU0=0xFF 9、使能GIC中斷(duan)(duan)總開關(guan)

ICCICR_CPU0=1

中斷處理:

1、得到中斷(duan)號

ICCIAR_CPU0 & (0x3FF)

2、清(qing)除(chu)管腳中斷標(biao)志

EXT_INT41_PEND |= 1 << 1

3、清除GIC控制器的SPI 25(57)中斷標(biao)志

 

ICDICPR1_CPU0 |=1<< (57-32)

4、結束(shu)中斷

ICCEORIR_CPU0 = ICCEORIR_CPU0 & ~(0x3FF) | iNum

上一篇:嵌入式學習筆記:指針和指針變量的區別(指針知識點大全)

下一篇:嵌入式學習筆記:ARM串口通信詳解

熱點文章推薦
華清學(xue)員就(jiu)業榜單
高薪(xin)學員經驗(yan)分享
熱(re)點(dian)新聞推薦
前(qian)臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部