<br />原文作者:chenxkj **来源于:DSP交流网<br />中断向量表的编写<br /> .ref _bad_trap ; 这个标号外部没有定义,为什么还用.ref,而不是用..global?<br /> .ref _c_int0 ; entry point to the code<br />.sect "vectors" ;自定义段名<br />_vector: ;向量表地址标识<br />RSVECT B _c_int0 ;_c_int0复位程序入口地址<br />INT1 B _bad_trap ;没有用到的中断跳转到非法中断陷阱<br />INT2 B _bad_trap ;前面的标号INT2只是为了让人更容易理解是这是什<br /> ;么中断的向量,还是有其它的什么用处?<br />INT3 B PM6 ;有用到的中断,则写其实际中断的地址或标号<br />INT4 B _bad_trap ; PM 8 Int level 4 7<br />INT5 B _bad_trap ; PM A Int level 5 8<br />INT6 B _bad_trap ; PM C Int level 6 9<br />…….<br /> .end <br /><br />PAGE 0 : /* program memory */<br /> VECS: origin = 00000h, length = 0007Fh<br /><br />vectors : > VECS PAGE = 0<br /><br />这样就可以正确装入中断向量表<br /><br />CPU中断向量地址和外设中断向量PIV有什么不同?什么是外设中断向量PIV?<br />中断的优先级是否固定不可变,还是说书中列出的是默认的优先级?<br />ADC、外部引脚、SPI、SCI、CAN邮箱、CAN错误有高低优先级选择,其它的优先级固定。<br />为什么同一个中断源里的中断还有不同的中断优先级?进的是同一个中断程序,不同优先级有什么作用?<br /><br />2008-2-27<br />按例子改的lf2406a中断向量表:<br />; ssembly language code, vectors for test code on TMS320C2406<br />; filename: Vectors.asm */<br />; original: 02/27/2008 by: CQ */<br />; last update: 02/27/2008 by: CQ */ <br /><br /> .ref _bad_trap ; illegal trap<br /> .ref int0 ; entry point to the code<br /><br /> .global _vector<br /> ; also check the conditional compile in<br /> ; scidrv.c and scidrv.h<br /> .sect "vectors"<br />_vector: <br />RSVECT B int0 ;复位<br /><br />INT1 B _bad_trap ; 外部中断1<br /> DPINTA EVA功率驱动保护引脚中断<br /> DPINTB EVB功率驱动保护引脚中断<br /> ;ADCINT 高优先级 <br /> ;XINT1 高优先级<br /> ;XINT2 高优先级 外部引脚中断<br /> ;SPIINT 高优先级<br /> ;RXINT 高优先级 SCI接收中断<br /> ;TXINT 高优先级 SCI发送中断<br /> ;CANMBINT 高优先级 CAN邮箱中断 <br /> ;CANERINT 高优先级 CAN错误中断 <br />INT2 B _bad_trap ;外部中断1<br /> ;CMP1INT 比较器中断<br /> ;CMP2INT<br /> ;CMP3INT<br /> ;TIPINT 定时器1周期中断<br /> ;T1CINT 定时器1比较中断<br /> ;T1UFINT 定时器1下溢中断<br /> ;T1OFINT 定时器1上溢中断<br /> ;CMP4INT<br /> ;CMP5INT<br /> ;CMP6INT<br /> ;T3PINT<br /> ;T3CINT<br /> ;T3UFINT<br /> ;T3OFINT <br /><br />INT3 B _bad_trap ;外部中断3<br /> ;T2PINT<br /> ;T2CINT<br /> ;T2UFINT<br /> ;T2OFINT<br /> ;T4PINT<br /> ;T4CINT<br /> ;T4UFINT<br /> ;T4OFINT <br /><br />INT4 B _bad_trap ;外部中断4<br /> ;CAP1INT 捕获中断1<br /> ;CAP2INT<br /> ;CAP3INT<br /> ;CAP4INT<br /> ;CAP5INT<br /> ;CAP6INT<br /><br />INT5 B _bad_trap ;外部中断5<br /> ;SPIINT 低优先级<br /> ;RXINT 低优先级 SCI接收中断<br /> ;TXINT 低优先级 SCI发送中断<br /> ;CANMBINT 低优先级 CAN邮箱中断<br /> ;CANERINT 低优先级 CAN错误中断<br /> <br />INT6 B _bad_trap ;外部中断6<br /> ;ADCINT 低优先级 <br /> ;XINT1 低优先级 外部引脚中断<br /> ;XINT2 低优先级 外部引脚中断<br /><br />RESERVED B _bad_trap ;保留,分析中断用<br />SW_INT8 B _bad_trap ;软件中断8~16<br />SW_INT9 B _bad_trap ;<br />SW_INT10 B _bad_trap ;<br />SW_INT11 B _bad_trap ;<br />SW_INT12 B _bad_trap ;<br />SW_INT13 B _bad_trap ;<br />SW_INT14 B _bad_trap ;<br />SW_INT15 B _bad_trap ;<br />SW_INT16 B _bad_trap ;<br />TRAP B _bad_trap ;TRAP指令中断<br />NMI B _bad_trap ;不可屏蔽软中断<br />EMU_TRAP B _bad_trap ;用于仿真<br />SW_INT20 B _bad_trap ;软件中20~31<br />SW_INT21 B _bad_trap ;<br />SW_INT22 B _bad_trap ;<br />SW_INT23 B _bad_trap ; <br />SW_INT24 B _bad_trap ;<br />SW_INT25 B _bad_trap ;<br />SW_INT26 B _bad_trap ;<br />SW_INT27 B _bad_trap ;<br />SW_INT28 B _bad_trap ;<br />SW_INT29 B _bad_trap ;<br />SW_INT30 B _bad_trap ;<br />SW_INT31 B _bad_trap ;<br /> .end<br />转载请注明出自DSP交流网 DSP学习第一论坛 DSP技术应用与推广平台 DSP开发服务平台 http://www.hellodsp.com/bbs/,本贴地址:http://www.hellodsp.com/bbs/viewthread.php?tid=6826<br /><br /><br /><br /> |
|