新闻  |   论坛  |   博客  |   在线研讨会
我的DSP之路-关于中段向量的一些心得与问题
chen_yuangui | 2009-09-06 12:41:07    阅读:2806   发布文章

中断向量表的编写
    .ref    _bad_trap    ; 这个标号外部没有定义,为什么还用.ref,而不是用..global?
        .ref           _c_int0     ; entry point to the code
.sect        "vectors"                                ;自定义段名
_vector:                                                 ;向量表地址标识
RSVECT    B    _c_int0    ;_c_int0复位程序入口地址
INT1                  B    _bad_trap        ;没有用到的中断跳转到非法中断陷阱
INT2        B    _bad_trap        ;前面的标号INT2只是为了让人更容易理解是这是什
                                        ;么中断的向量,还是有其它的什么用处?
INT3                  B    PM6                ;有用到的中断,则写其实际中断的地址或标号
INT4                  B    _bad_trap        ; PM 8        Int level 4                7
INT5                  B    _bad_trap        ; PM A        Int level 5                8
INT6                  B    _bad_trap        ; PM C        Int level 6                9
…….
        .end   

PAGE 0 :                                         /* program memory */
          VECS: origin = 00000h, length = 0007Fh

vectors   :          > VECS PAGE = 0

这样就可以正确装入中断向量表

CPU中断向量地址和外设中断向量PIV有什么不同?什么是外设中断向量PIV?
中断的优先级是否固定不可变,还是说书中列出的是默认的优先级?
ADC、外部引脚、SPI、SCI、CAN邮箱、CAN错误有高低优先级选择,其它的优先级固定。
为什么同一个中断源里的中断还有不同的中断优先级?进的是同一个中断程序,不同优先级有什么作用?

2008-2-27
按例子改的lf2406a中断向量表:
;  ssembly language code, vectors for test code on TMS320C2406
;  filename:        Vectors.asm                                                   */
;  original:        02/27/2008   by: CQ                                                   */
;  last update: 02/27/2008   by: CQ                                                      */                                                               

    .ref    _bad_trap   ; illegal trap
        .ref           int0     ; entry point to the code

        .global        _vector
                            ; also check the conditional compile in
                            ; scidrv.c and scidrv.h
        .sect        "vectors"
_vector:
RSVECT      B    int0             ;复位

INT1                  B    _bad_trap        ; 外部中断1
                                                        DPINTA         EVA功率驱动保护引脚中断
                                                        DPINTB         EVB功率驱动保护引脚中断
                                                        ;ADCINT                高优先级
                                                        ;XINT1                高优先级
                                                        ;XINT2                高优先级 外部引脚中断
                                                        ;SPIINT                高优先级
                                                        ;RXINT                 高优先级 SCI接收中断
                                                        ;TXINT                 高优先级 SCI发送中断
                                                        ;CANMBINT        高优先级 CAN邮箱中断       
                                                        ;CANERINT        高优先级 CAN错误中断                                                                       
INT2                  B    _bad_trap        ;外部中断1
                                                        ;CMP1INT                         比较器中断
                                                        ;CMP2INT
                                                        ;CMP3INT
                                                        ;TIPINT                                 定时器1周期中断
                                                        ;T1CINT                                 定时器1比较中断
                                                        ;T1UFINT                         定时器1下溢中断
                                                        ;T1OFINT                         定时器1上溢中断
                                                        ;CMP4INT
                                                        ;CMP5INT
                                                        ;CMP6INT
                                                        ;T3PINT
                                                        ;T3CINT
                                                        ;T3UFINT
                                                        ;T3OFINT               

INT3                  B    _bad_trap        ;外部中断3
                                                        ;T2PINT
                                                        ;T2CINT
                                                        ;T2UFINT
                                                        ;T2OFINT
                                                        ;T4PINT
                                                        ;T4CINT
                                                        ;T4UFINT
                                                        ;T4OFINT               

INT4                  B    _bad_trap        ;外部中断4
                                                        ;CAP1INT        捕获中断1
                                                        ;CAP2INT
                                                        ;CAP3INT
                                                        ;CAP4INT
                                                        ;CAP5INT
                                                        ;CAP6INT

INT5                  B    _bad_trap        ;外部中断5
                                                        ;SPIINT                低优先级
                                                        ;RXINT                 低优先级 SCI接收中断
                                                        ;TXINT                 低优先级 SCI发送中断
                                                        ;CANMBINT        低优先级 CAN邮箱中断
                                                        ;CANERINT        低优先级 CAN错误中断
                                                                                                                                                                       
INT6                  B    _bad_trap        ;外部中断6
                                                        ;ADCINT                低优先级
                                                        ;XINT1                低优先级 外部引脚中断
                                                  ;XINT2                低优先级 外部引脚中断

RESERVED    B    _bad_trap  ;保留,分析中断用
SW_INT8           B    _bad_trap        ;软件中断8~16
SW_INT9           B    _bad_trap        ;
SW_INT10          B    _bad_trap        ;
SW_INT11          B    _bad_trap        ;
SW_INT12          B    _bad_trap        ;
SW_INT13          B    _bad_trap        ;
SW_INT14          B    _bad_trap        ;
SW_INT15          B    _bad_trap        ;
SW_INT16          B    _bad_trap        ;
TRAP                  B    _bad_trap        ;TRAP指令中断
NMI                        B    _bad_trap        ;不可屏蔽软中断
EMU_TRAP          B    _bad_trap        ;用于仿真
SW_INT20          B    _bad_trap        ;软件中20~31
SW_INT21          B    _bad_trap        ;
SW_INT22          B    _bad_trap        ;
SW_INT23          B    _bad_trap        ;
SW_INT24          B    _bad_trap        ;
SW_INT25          B    _bad_trap        ;
SW_INT26          B    _bad_trap        ;
SW_INT27          B    _bad_trap        ;
SW_INT28          B    _bad_trap        ;
SW_INT29          B    _bad_trap        ;
SW_INT30          B    _bad_trap        ;
SW_INT31          B    _bad_trap        ;
        .end

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
我们赖以生存的空间每时每刻都在变化着,正是它的非线性赋予了我们五彩缤纷的生活!
推荐文章
最近访客