版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.InitPieVectTable():每個中斷都有自己的中斷向量,即每個中斷源都對應著自己的中斷服務程序的入口地址,這些中斷向量連續(xù)存在于RAM中,就是整個系統(tǒng)的中斷向量表;Uint32 *Source = (void *) &PIE_RESERVED;中斷服務函數(shù)入口地址;取PIE_RESERVED地址,強制轉換為void*。換后的void*直接賦值給Uint32 *指針。這里要把PIE_RESERVED的首地址給指針Source,Source是Uint32型的,不能夠直接給地址的,需要類型轉換,在C語言里面指針強制轉換要求兩邊的類型要是一樣的,同時也指出了void類型是可以賦值給任何類
2、型的,所以這里用了(void*),其實也可改成(Uint32*)。Uint32 *Dest = (void *) &PieVectTable;中斷向量表extern struct PIE_VECT_TABLE PieVectTable;(Device.h)一共128個中斷,即128個中斷向量ID: EALLOW;for(i=0; i 128; i+)*Dest+ = *Source;EDIS;把中斷入口地址送給中斷向量表,達到關聯(lián)的目的;#define EALLOW asm( EALLOW)#define EDIS asm( EDIS) (Device.h)EALLOW是指允許對受保護的寄存器
3、操作,通常和EDIS配套使用,EDIS是指恢復被保護寄存器的狀態(tài),只有執(zhí)行了EALLOW命令之后才能對受保護的寄存器操作。PieCtrlRegs.PIECTRL.bit.ENPIE = 1;使能中斷向量表。2.InitPieCtrl(): DINT;關閉CPU總中斷; #define DINT asm( setc INTM) ( Device.h) PieCtrlRegs.PIECTRL.bit.ENPIE = 0; 關閉PIE模塊總中斷。關閉所有PIE模塊的中斷: PieCtrlRegs.PIEIERn.all = 0;(n=012)清除所有中斷標志位: PieCtrlRegs.PIEIFR
4、n.all = 0;(n=0.12)對于不可屏蔽中斷來說,它直接進入CPU級。對于可屏蔽中斷來說,PIE模塊有相關的標志寄存器(PIEIFRx和PIEIERx)(x=1.12)每一個位設為y(y=1.8)當有中斷請求進入PIE控制器的時候,相關的PIE中斷標志位PIEIFRx.y置高。如果PIE中斷允許位PIEIERx.y也置高的時候,PIE控制器機會檢查PIEACKx標志位來決定CPU是否已經(jīng)準備好接收這個PIE中斷組的中斷。如果PIEACKZx被清零了,那么PIE會把這個中斷請求送到CPU;如果PIEACKx位置1,那么PIE就會等待直到這個標志位清零然后發(fā)送中斷請求給CPU級的INTx。
5、一旦中斷請求到達CPU級,CPU級和INTx相對應的中斷標志位(IFR)置1,如果CPU中斷允許寄存器(IER)或者調試中斷允許寄存器(DBGIER)和全局中斷屏蔽位(INTM)允許的話,CPU才會執(zhí)行這個中斷申請IER:CPU中斷使能寄存器;extern cregister volatile unsigned int IER; (Device.h)CPU中斷使能寄存器是一個16位的CPU寄存器,包含可屏蔽CPU中斷(INT1-INT12,DLOGINT和RTOSINT中斷)的使能位。IFR:CPU中斷標志寄存器;extern cregister volatile unsigned int I
6、FR;(Device.h)15: RTOSINT 實時操作系統(tǒng)標志位;:0:已處理完成所有RTOS中斷;1:至少一個RTOS中斷未執(zhí)行,向該位寫0可以清除中斷請求;14: DLOGINT 數(shù)據(jù)記錄中斷標志位;1:至少有一個DLOGINT中斷未被執(zhí)行,向該位寫0可以清除中斷請求;0:沒有DLOGINT中斷;13-0: INTx 中斷x標志位;1:至少有一個INTx中斷未被執(zhí)行,向該位寫0可以清除中斷請求;0:沒有INTx中斷;EINT: #define EINT asm( clrc INTM) ( Device.h)使能CPU中斷;INTM只是個位不是寄存器,編程中不會出現(xiàn),由硬件控制,同時其清
7、除也在中斷程序執(zhí)行完后由硬件自動清除。判斷INTM是否為0. 如果為0,CPU保存當前工作狀態(tài)經(jīng)過9個周期后開始執(zhí)行中斷。如過INTM為1,則只有等待。一般INTM為1,說CPU正在處理別的中斷INTMBit0:中斷全局屏蔽位。此位從全局上使能或禁止所有可屏蔽CPU中斷(那些可由軟件阻止的中斷):0可屏蔽中斷被全局使能。為了被CPU認可,則可屏蔽中斷也必須被中斷使能寄存器(IER)局部使能。1可屏蔽中斷被全局禁止。即使一個可屏蔽中斷被IER局部使能,也不會被CPU認可。INTM對非可屏蔽中斷沒有影響,包括硬件復位或軟件復位中斷NMI。此外,當CPU在實時仿真模式下被停止時,由IER和DBGIE
8、R使能的中斷將被響應,即使INTM設置為禁止可屏蔽中斷。當CPU響應中斷時,INTM的當前值存儲到堆棧中(當ST1存儲在堆棧中時),然后INTM置位。當由中斷返回時,INTM由堆棧中恢復。此位可分別由SETCINTM指令和CLRCINTM指令復位和清零。復位時,INTM置位。INTM的值不會引起中斷標志寄存器(IFR)、中斷使能寄存器(IER)或調試中斷使能寄存器(DBGIER)的改變ERTM: #define ERTM asm( clrc DBGM) ( Device.h)DRTM:#define DRTM asm( setc DBGM) ( Device.h)DBGMBit1:調試啟用屏蔽
9、位。當DBGM置位時,仿真器無法在實時狀態(tài)下訪問內存或寄存器。調試器無法更新其窗口。在實時調試模式中,若DBGM=1,則CPU忽略停止請求或硬件斷點,直到DBGM清零。DBGM并不阻止CPU停止在軟件斷點。這點的一個影響可以在實時調試模式中看到。如果你在實時調試模式中單步執(zhí)行一個指令,并且這條指令置位DBGM,CPU繼續(xù)執(zhí)行指令,直到DBGM被清零。當你給TI調試器“實時”命令時(進入實時模式),DBGM強制為0。令DBGM=0確保了允許調試和測試直接內存訪問(DT-DMAs);內存和寄存器的值可傳遞到主處理器,用于更新調試器窗口。CPU在執(zhí)行中斷服務程序(ISR)之前將DBGM置位。當DBG
10、M=1時,來自主處理器和硬件斷點的停止請求被忽略。如果你想要單步執(zhí)行程序或在對時間要求不嚴格的ISR中設置斷點,那么你必須在ISR的開始處增加一條CLRCDBGM指令。DBGM主要用在時間要求嚴格的程序代碼部分的仿真,來阻止調試事件。DBGM使能或禁止調試事件,如下:0調試事件使能。1調試事件禁止。當CPU響應中斷時,DBGM的當前值存儲到堆棧中(當ST1存儲在堆棧中時),然后DBGM置位。當由中斷返回時,DBGM由堆棧中恢復。此位可分別由SETCDBGM指令和CLRCDBGM指令復位和清零。DBGM在中斷操作期間被自動置位。復位時,DBGM置位。執(zhí)行ABORTI(中止中斷)指令也可以將DBG
11、M置位3.DSP28335外部中斷流程可表示為:外設中斷標志產(chǎn)生外設中斷使能PIEx IFR置位PIExIER使能判斷PIExACKIFR置位IER使能判斷INTM位CPU執(zhí)行中斷程序3.中斷總結: C28XX一共有16個中斷源,其中有2個不可屏蔽的中斷RESET和NMI、定時器1和定時器2分別使用中斷13和14。這樣還有12個中斷都直接連接到外設中斷擴展模塊PIE上。說的簡單一點就是PIE通過12根線與28335核的12個中斷線相連。而PIE的另外一側有12*8根線分別連接到外設,如AD、SPI、EXINT等等。這樣PIE共管理12*8=96個外部中斷。這12組大中斷由28335核的中斷寄存器IER來控制,即IER確定每個中斷到底屬于哪一組大中斷(如IER |= M_INT12;說明我們要用第12組的中斷,但是第12組里面的什么中斷CPU并不知道需要再由PIEIER確定 )。接下來再由PIE模塊中的寄存器PIEIER中的低8位確定該中斷是這一組的第幾個中斷,這些配置都要告訴CPU(我們不難想象到PIEIER共有12總即從PIEIER1-PIEIER12)。另外,PIE模塊還有中斷標志寄存器PIEIFR,同樣它的低8位是來自外部中斷的8個標志位,同樣CPU的IFR寄存器是中斷組的標志寄存器。由此看來,CPU的所有中斷寄存器控制1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年學年高二英語下學期第13周說課稿(選修6module 6)
- 2023三年級數(shù)學下冊 四 綠色生態(tài)園-解決問題第3課時說課稿 青島版六三制
- 15 自相矛盾 說課稿-2023-2024學年統(tǒng)編版語文五年級下冊001
- 2024年春七年級英語下冊 Unit 11 How was your school trip Section B說課稿 (新版)人教新目標版
- 2024-2025學年九年級物理上冊 第十三章 探究簡單電路 13.1 從閃電談起說課稿 (新版)粵教滬版
- 2024-2025學年新教材高中生物 第4章 基因的表達 章末總結說課稿 新人教版必修第二冊
- 2024學年九年級英語上冊 Module 8 Sports life Unit 1 Daming wasnt chosen for the team last time說課稿 (新版)外研版001
- 6 夜間飛行的秘密 說課稿-2024-2025學年語文四年級上冊統(tǒng)編版
- 綜合與實踐-遠離肥胖(說課稿)-2024-2025學年六年級上冊數(shù)學青島版
- 7《走近我們的引路人》(說課稿)-2024-2025學年道德與法治三年級上冊統(tǒng)編版
- 設備維保的維修流程與服務流程
- 技術交易系統(tǒng)的新概念
- 人教版數(shù)學六年級下冊全冊核心素養(yǎng)目標教學設計
- 構建綠色低碳的城市生態(tài)系統(tǒng)
- 春節(jié)習俗中的傳統(tǒng)節(jié)日服飾與裝扮
- 兒童編程課件
- (完整word版)英語四級單詞大全
- 武裝押運操作規(guī)程完整
- 混合動力汽車構造與檢修(高職新能源汽車專業(yè))PPT完整全套教學課件
- 薪酬專員崗位月度KPI績效考核表
- 技能大賽題庫(空分)
評論
0/150
提交評論