CCS simulation 中斷模擬實(shí)驗(yàn)_第1頁
CCS simulation 中斷模擬實(shí)驗(yàn)_第2頁
CCS simulation 中斷模擬實(shí)驗(yàn)_第3頁
CCS simulation 中斷模擬實(shí)驗(yàn)_第4頁
CCS simulation 中斷模擬實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

實(shí)驗(yàn)2

中斷模擬實(shí)驗(yàn)試驗(yàn)?zāi)康恼莆罩袛嗟暮x和中斷響應(yīng)過程。掌握用CCSsimulator模擬中斷的方法。掌握中斷應(yīng)用程序的編寫方法。摘要復(fù)習(xí)C54x中斷操作模擬中斷的方法實(shí)驗(yàn)內(nèi)容及步驟試驗(yàn)原理中斷是一些由硬件或軟件產(chǎn)生的信號,能使CPU暫時(shí)停止執(zhí)行正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行由DSP程序開發(fā)者編寫的中斷服務(wù)程序(ISR——InterruptServiceRoutine)C54x既支持軟件中斷也支持硬件中斷軟件中斷,是由指令(INTR、TRAP、RESET)產(chǎn)生的。硬件中斷:外部中斷——通過DSP外部中斷引腳接收到的片外設(shè)備產(chǎn)生的中斷(例如ADC/DAC向DSP發(fā)出的中斷)片上外設(shè)中斷——DSP片上外設(shè)(如定時(shí)器、串口、DMA等)向CPU發(fā)出的中斷當(dāng)同一CPU時(shí)鐘周期內(nèi)有多個(gè)硬件中斷發(fā)生時(shí),CPU會按照中斷優(yōu)先級對它們進(jìn)行響應(yīng)!軟件中斷無優(yōu)先級??善帘魏头强善帘沃袛郉SP的中斷可分為兩大類:可屏蔽(Maskable)中斷:可以通過軟件被禁止/使能的中斷。被禁止掉的中斷即使產(chǎn)生,CPU也不會去響應(yīng)!被使能的中斷,當(dāng)它產(chǎn)生時(shí)CPU就會去響應(yīng)它!非可屏蔽(Nonmaskable)中斷:不能被禁止的中斷。當(dāng)這些中斷產(chǎn)生時(shí)CPU會無條件響應(yīng)!C54x的非可屏蔽中斷有:所有的軟件中斷!外部中斷NMI(DSP外部中斷引腳NMI)復(fù)位中斷RS(DSP外部中斷引腳RS)CPU在響應(yīng)NMI中斷時(shí),將不能被任何其他中斷打斷!包括復(fù)位中斷!IFRIFR(InterruptFlagRegister)中斷標(biāo)志寄存器(地址0x01)當(dāng)一個(gè)可屏蔽中斷產(chǎn)生時(shí),IFR中相應(yīng)的中斷標(biāo)志位會被置1,當(dāng)CPU響應(yīng)該中斷后,該標(biāo)志位才被清除!清除中斷標(biāo)志還可通過:軟件或硬件復(fù)位;向標(biāo)志位寫1;使用INTR#K指令響應(yīng)該中斷15-1413121110987ReservedDMAC5DMAC4BXINT1/DMAC3BRINT1/DMAC2HPINTINT3TINT1/DMAC1C5402DSP的IFR寄存器6543210DMAC0BXINT0BRINT0TINT0INT2INT1INT0IMRIMR(InterruptMaskRegister)中斷屏蔽寄存器(地址0x00)當(dāng)ST1的INTM位為0時(shí),IMR可用于禁止和使能可屏蔽中斷,向IMR中的某個(gè)屏蔽位寫1就能使能相應(yīng)的可屏蔽中斷!如果寫0,則相應(yīng)的中斷被禁止!15-1413121110987ReservedDMAC5DMAC4BXINT1/DMAC3BRINT1/DMAC2HPINTINT3TINT1/DMAC1C5402DSP的IMR寄存器6543210DMAC0BXINT0BRINT0TINT0INT2INT1INT011INTM中斷模式位,可屏蔽中斷的全局開關(guān)!=0全局開=1全局關(guān)ST1:(0x07)C54x中斷響應(yīng)流程中斷請求產(chǎn)生Request中斷應(yīng)答Acknowledgment執(zhí)行用戶編寫的ISRIMR屏蔽位=1?將當(dāng)前PC值壓入堆棧產(chǎn)生應(yīng)答信號IACK可屏蔽中斷?從ISR返回時(shí),將先前壓入堆棧的PC值彈出放入PC中程序繼續(xù)從被中斷處運(yùn)行INTM=0?YNY產(chǎn)生應(yīng)答信號IACKINTM置1YNNCPU如何跳轉(zhuǎn)到ISR去執(zhí)行?中斷號中斷名稱0RS1NMI……16INT017INT118INT2……15-7IPTR中斷INT0得到應(yīng)答AcknowledgmentPC=(IPTR<<7)+中斷號×4

PMST:(0x1D)……程序空間NOPB_MyInt0isr

NOPNOP執(zhí)行C函數(shù)MyInt0isrINT0的中斷向量中斷向量表中斷向量(表)指針4-wordspace4-wordspace4-wordspace4-wordspace4-wordspace摘要復(fù)習(xí)C54x中斷操作模擬中斷的方法實(shí)驗(yàn)內(nèi)容及步驟Simulator下模擬中斷編寫引腳文件,指示出中斷產(chǎn)生的時(shí)間!將引腳文件和相應(yīng)的中斷引腳進(jìn)行“連接”!裝載并運(yùn)行程序后,CCS會根據(jù)引腳文件中設(shè)置的時(shí)間來產(chǎn)生模擬的中斷信號!引腳文件(.txt)文件內(nèi)容含義100120300分別在第100、120、300個(gè)CPUclock時(shí)產(chǎn)生中斷100+20300同上,分別在第100、120、300個(gè)CPUclock時(shí)產(chǎn)生中斷5(+10)rpt3分別在第5、15、25、35個(gè)CPUclock時(shí)產(chǎn)生中斷5(+10+20)rpt2分別在第5、15、35、45、65個(gè)CPUclock時(shí)產(chǎn)生中斷100(+200)rptEOS分別在第100、300、500、700…個(gè)CPUclock時(shí)產(chǎn)生中斷,無限循環(huán)!引腳文件和中斷引腳的“連接”Tools→Pinconnect

實(shí)驗(yàn)內(nèi)容在C54xDeviceSimulator模式下,編寫引腳文件模擬部中斷0(INT0)的產(chǎn)生。編寫程序響應(yīng)INT0中斷。實(shí)驗(yàn)步驟使用CCSSetup添加“C5402DeviceSimulator”配置到系統(tǒng)中;運(yùn)行CCS,進(jìn)入Simulator工作模式。編寫引腳文件intsim.txt

包含:10000

(+10000)

rpt

EOS使用ToolsPinConnect工具將該引腳文件連接到引腳INT0。建立一個(gè)CCS項(xiàng)目,包含下列文件main.c

使能并打開中斷isr.c

中斷服務(wù)函數(shù)vectors.asm

中斷向量表linker.cmd

鏈接器命令文件實(shí)驗(yàn)環(huán)境建立#include<stdio.h>#defineIMR *(unsignedint*)0x0000#defineIFR *(unsignedint*)0x0001#defineST1 *(unsignedint*)0x0007#definePMST *(unsignedint*)0x001DintINTtimes;voidmain(){ asm(" SSBXINTM"); PMST=0x00A0; IFR=0xFFFF; IMR=0x0001; asm(" RSBXINTM"); puts("interruptenabled!"); INTtimes=0; while(1) { asm(" RSBXINTM"); }}main.c#include<stdio.h>externintINTtimes;interruptvoidmyisr(){ printf("%d\n",++INTtimes);}isr.c .sect".vectors" .ref_myisr.align0x80Unused .space16*4*16int0: B_myisr NOP NOP NOPint1: RETE NOP NOP NOPint2: RETE NOP NOP NOP .endvectors.asm-lrts.lib-stack0x400-heap0x400MEMORY{ PAGE0: VECT: o=0x0080, l=0x0080 SRAM: o=0x4000, l=0x3000 PAGE1:REVS: o=0x1000, l=0x0400 STACK: o=0x1400, l=0x0400 IDRAM: o=0x1800, l=0x2800}SECTIONS{ .vectors: > VECT .text: > SRAM .cinit: > SRAM .stack: > STACK .bss: > IDRAM .const: > IDRAM .cio: >

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論