下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第第頁S3C2440開發(fā)板實戰(zhàn)(4):外部中斷最近學(xué)了一系列的中斷程序,就復(fù)習(xí)下順便擼一篇文來分享下學(xué)習(xí)。以外部中斷為例(之前單片機用的最多的)
1.ARM工作模式ARM體系結(jié)構(gòu)(除了Cortex之外支持7種工作模式),取決于程序狀態(tài)寄存器中低5位的值(在第二部分會詳細(xì)講到)
?User(usr):ThenormalARMprogramexecutionstate
(用戶模式:ARM程序的正常執(zhí)行狀態(tài))
?FIQ(fiq):Designedtosupportadatatransferorchannelprocess
(快速中斷模式:處理高速中斷用于高速數(shù)據(jù)傳輸或通道傳輸)
?IRQ(irq):Usedforgeneral-purposeinterrupthandling
(外部中斷模式:用于普通的中斷處理)
?Supervisor(svc):Protectedmodefortheoperatingsystem
(管理模式:操作系統(tǒng)的保護模式,處理軟中斷SWI)
?Abortmode(abt):Enteredafteradataorinstructionprefetchabort
(中止模式:處理存儲器故障,實現(xiàn)虛擬存儲器與存儲器保護)
?System(sys):Aprivilegedusermodefortheoperatingsystem
(系統(tǒng)模式:運行特權(quán)級的操作系統(tǒng)任務(wù))
?Undefined(und):Enteredwhenanundefinedinstructionisexecuted
(未定義指令模式:處理未定義的指令,在執(zhí)行未定義的指令時輸入)
2.ARM處理器的寄存器組織ARM處理器共有37個寄存器,包括31個通用寄存器(包括PC)和六個狀態(tài)寄存器。如下圖所示:Setp1:打開CPSR中中斷總開關(guān)
mrsr0,cpsrbicr0,r0,#0xf//將模式設(shè)置為user模式bicr0,r0,(1對應(yīng)的位為:025}第二部分:外部中斷IO口初始化(簡化)
Step1:LED初始化
由于led的程序之前寫過,所以對于LED的初始化不做贅述。
Step2:按鍵初始化
寄存器1:GPxCON設(shè)置為中斷模式
寄存器2:EXTINTx設(shè)置為雙邊觸發(fā)
寄存器3:EINTMASK設(shè)置對應(yīng)中斷使能
voidinit_key(void){GPFCONGPFCON|=((2<<0)|(2<<4));GPGCONGPGCON|=((2<<6)|(2<<22));EXTINT0|=(7<<0)|(7<<8);EXTINT1|=(7<<12);EXTINT2|=(7<<12);EINTMASK}II.進入中斷按照中斷向量表我們編寫中斷函數(shù)irq:
do_irq:/*執(zhí)行到這里之前:*1.lr_und保存有被中斷模式中的下一條即將執(zhí)行的指令的地址*2.SPSR_irq保存有被中斷模式的CPSR*3.CPSR中的M4-M0被設(shè)置為10010,進入到irq模式*4.跳到0x18的地方執(zhí)行程序*///1.保護現(xiàn)場ldrsp,=0x33d00000/*在irq異常處理函數(shù)中有可能會修改r0-r12,所以先保存*//*lr-4是異常處理完后的返回地址,也要保存*/sublr,lr,#4stmdbsp!,{r0-r12,lr}//2.處理中斷函數(shù)blFind_interrupt_source/*3.恢復(fù)現(xiàn)場*/ldmiasp!,{r0-r12,pc}^/*^會把spsr的值恢復(fù)到cpsr里*/中斷函數(shù)編寫要點:
通過INTOFFSET、INTPEND和EINTPEND寄存器讀出中斷源在中斷發(fā)生完之后,要進行清中斷(至頂向下清)INTOFFSET和INTPEND是一樣的,但是只能訪問到一條線上的中斷源(比如說EINT4-7EINT8-23),這樣在EINTPEND能夠判斷在具體是哪個中斷。故外部中斷函數(shù)模板為:
voidhand_irq_fun(void){intbit=INTOFFSET;if(bit==*||bit==*)//目標(biāo)中斷位(可不寫)irq_fun(bit);SRCPND=(1<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024網(wǎng)易云音樂·云谷音樂節(jié)招商通案-31P
- 21 青蛙賣泥塘 第一、二課時教學(xué)設(shè)計 第一、二課時教學(xué)設(shè)計 特色作業(yè)單
- 《調(diào)味果蔬罐頭》(征求意見稿)
- 某制藥企業(yè)清潔生產(chǎn)審核報告
- 班級日志心得體會
- 辯論協(xié)會招新策劃書(3篇)
- 無人機競賽練習(xí)測試卷
- N個點子-抖音汽車賽道運營測試練習(xí)卷附答案
- 5.2確定位置(基礎(chǔ)作業(yè))2024-2025學(xué)年四年級上冊數(shù)學(xué) 北師大版(含解析)
- DB34∕T 4149-2022 體育場館運營管理規(guī)范
- 武漢大學(xué)-林嘉-慕課-學(xué)術(shù)道德學(xué)術(shù)規(guī)范課后測試答案
- 生產(chǎn)件批準(zhǔn)申請書
- 2021年安徽省初中學(xué)業(yè)水平考試地理試題
- (完整版)一般現(xiàn)在時專項練習(xí)題
- 《父愛之舟》說課稿課件
- 北師大版四年級勞動教育活動3《膳食營養(yǎng)小專家》課件(定稿)
- 磁粉檢測報告
- 二年級數(shù)學(xué)上冊平均分教學(xué)課件冀教版
- 高中英語4Module1LifeintheFuture將來進行時態(tài)教學(xué)設(shè)計
- 閩教版五年級上冊英語表格教案
- H3C-CAS虛擬化平臺詳細(xì)介紹
評論
0/150
提交評論