


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、Nios II中斷簡述 Nios II 的中斷處理方式帶有典型的RISC處理器的特征,所有的中斷處理都從同一入口進入,然后由軟件加以分配。負責分配工作的軟件叫系統(tǒng)ISR,它是由開發(fā)系統(tǒng)提供的,自動的連接到可執(zhí)行程序上。系統(tǒng)ISR維護著一個中斷向量表,表中的每一項代表著一個專項處理程序的入口。所有的專項處理程序都是由用戶定義然后注冊到中斷向量表中的,叫做用戶ISR。系統(tǒng)ISR的入口地址是在SOPC_Builder中定義的,叫Exception Address。和中斷有關(guān)的CPU寄存器有:ctl0、ctl1、ctl3、ctl4。Ctl
2、0 是程序狀態(tài)字,它的bit0位是全局中斷允許位,1代表允許,0代表禁止。Ctl1是程序狀字的堆棧,當發(fā)生中斷時,由它保留一個程序狀態(tài)字的備份。 Ctl3是中斷允許寄存器,其中每一位控制著一個中斷源,1代表允許,0代表禁止,共計32位。Ctl4是中斷申請寄存器,每一位對應(yīng)著一個中斷源的中斷請求,1代表有中斷,0代表沒有計32位。 NiosII的中斷處理過程是這樣的:1. 拷貝一份程序狀態(tài)字到ctl1; 2. 清除全局中斷允許位PIE,禁止中斷; 3. 將下一條將執(zhí)行的指令的地址存入R29,以便中斷返回之用; 4. 跳轉(zhuǎn)到中斷入口地址,進
3、入系統(tǒng)ISR; 5. 系統(tǒng)ISR保護現(xiàn)場; 6. 系統(tǒng)ISR檢測ctl1的PIE位,如為0則進入軟中斷處理程序從11繼續(xù),否則由7繼續(xù); 7. 系統(tǒng)ISR檢測Ctl4,如果有中斷申請,則轉(zhuǎn)到硬中斷處理和序,否則進入軟中斷處理程序; 8. 硬中斷處理程序?qū)z測中斷申請?zhí)枺z索中斷向量表,跳轉(zhuǎn)到用戶中斷處理程序; 9. 用戶中斷處理程序做出具體的處理,最后返回系統(tǒng)ISR; 10. 系統(tǒng)ISR恢復(fù)現(xiàn)場,并返回; 11. 軟中斷處理程序進行陷井指令、模擬指令判斷,并做相應(yīng)處理,然后返回系統(tǒng)ISR; 12.
4、;系統(tǒng)ISR恢復(fù)現(xiàn)場并返回; 軟中斷處理程序是用來處理由軟件發(fā)起的中斷事件的,包括調(diào)試指令引起的中斷及未定義指令引起的中斷。目前未定義指令的處理主要為乘、除法運算指令的處理,不支持用自定義的操作碼,除用戶自己修改系統(tǒng)程序。如果軟中斷處理程序遇到了一個不識別的操作碼,將返回一個不確定的結(jié)果。與用戶編程相關(guān)API函數(shù)有:1、 alt_irq_register();alt_irq_register()是向系統(tǒng)ISR注冊用戶ISR的API函數(shù)。其原形為: int alt_irq_register( alt_u32 id,void *context,void (* isr)(void *,
5、alt_u32) id 代表被服務(wù)的中斷向量號; context 是運行參數(shù)指針,將來作為第一個參數(shù)傳給用戶ISR; Isr 是一個函數(shù)指針,指向用戶ISR入口;如果注冊成功,函數(shù)返回0,并允許全局中斷及被服務(wù)中斷;不成功返回非0值。2、 alt_irq_disable();Alt_irq_disable()用來禁止某個中斷服務(wù)。原形為:
6、0; Int alt_irq_disable(alt_u32 id) Id 為對應(yīng)的中斷號;
7、160; 返回值為0;3、 alt_irq_enble();alt_irq_enable()與alt_irq_disable()對應(yīng),用來開啟某個中斷服務(wù)。原形為: int alt_irq_enable(alt_u32 id)4、 alt_irq_disable_all();alt_irq_disable_all()用于關(guān)閉全局中斷,原形為:
8、160; alt_irq_context alt_irq_disable_all(void) 返回值為中斷控制寄存器的值。5、 alt_irq_enable_all();Alt_irq_enable_all()用于開
9、啟全局中斷,原形為: void alt_irq_enable_all( alt_irq_context context) context 代表中斷控制寄存器的值。用戶定
10、義的用戶ISR程序要符合統(tǒng)一的原形定義,即: void isr(void * context, alt_u32 id)函數(shù)名沒特別的要求,與一般函數(shù)一樣。入口參數(shù)與返回值要嚴格按標準形式定義,否則系統(tǒng)ISR將不能正確的對其調(diào)用。二、中斷調(diào)試技巧 中斷由3個寄存器控制status、ienable、ipending,status寄存器的最低位為PIE,表示中斷使能位,PIE位為0時,禁止外部中斷;PIE位為1時,允許外部中斷,但中斷
11、是否有效還取決與ienable寄存器的值。ienable寄存器為32位,它的每一個位對應(yīng)一個外部中斷源的使能位。若第n位為1,表示相應(yīng)輸入信號irqn可以發(fā)起中斷請求,若為0,則表示外部中斷被禁止。ipending寄存器表示處理器正在處理的中斷,若第n位為1,則表示相應(yīng)輸入的irqn有效。一般你的中斷不正常的時候,你首先檢查這幾個寄存器,確定總中斷控制位打開了,ienable對應(yīng)位打開了,ipending寄存器可以確定哪個中斷發(fā)生了。還有一個非常重要的數(shù)組,也就是中斷向量表,你們觀察一下全局變量alt_irq,在調(diào)試模式下,把alt_irq找出來觀察。 DMA中斷優(yōu)先級設(shè)的是2,把alt_irq2再展開 這個信息很重要, alt_irq就是中斷向量表,有32個元素,每個對應(yīng)一個中斷優(yōu)先級,中斷注
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抖音短視頻內(nèi)容創(chuàng)作者保密期限及平臺分成收益協(xié)議
- 電子政務(wù)數(shù)據(jù)保密及安全管理協(xié)議
- 2025年中國報紙期刊行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 新能源汽車電機控制系統(tǒng)研發(fā)與市場推廣策劃合同
- 網(wǎng)絡(luò)輿情監(jiān)測平臺租賃與信息反饋及安全保障協(xié)議
- 影視音樂作品版權(quán)獨家運營收益分成補充條款
- 牧場奶牛養(yǎng)殖委托管理與品牌推廣合同
- 高端職業(yè)技能培訓(xùn)基地合作辦學(xué)合同
- 新能源產(chǎn)業(yè)股權(quán)代持風險防范與化解協(xié)議
- 智能化住宅小區(qū)安防監(jiān)控系統(tǒng)建設(shè)與全面維護協(xié)議
- 實測實量方案交底
- 銀行客戶經(jīng)理之情緒管理
- 生產(chǎn)良率系統(tǒng)統(tǒng)計表
- 用TOC理論提高生產(chǎn)制造的競爭力課件
- SketchUp (草圖大師) 基礎(chǔ)培訓(xùn)PPT課件
- 生命線安裝方案
- 代理機構(gòu)服務(wù)質(zhì)量考核評價表
- 電廠保安人員管理制度
- 2018年瀘州市生物中考試題含答案
- ge核磁共振機房專用精密空調(diào)機技術(shù)要求
- 新干縣人民醫(yī)院血液透析治療患者告知書
評論
0/150
提交評論