原创 李现路:在DSP6000中怎样编写您的第一个程序(二)

2009-11-25 13:12 944 2 2 分类: 智能手机

李现路:在DSP6000中怎样编写您的第一个程序(二)   Post By:2009-11-23 23:46:16


 



三、完整的中断向量表程序如下:


 


 


   .global _vectors ;定义一个能被外部(C语言程序)引用的变量


   .global _c_int00


   .global _vector1


   .global _vector2


   .global _vector3


   .global _vector1


   .global _vector5


   .global _vector6


   .global _vector7


   .global _vector8 


   .global _vector9          


   .global _vector10


   .global _vector11 ; Hookup the c_int08 ISR(连接这个中断设置寄存器) in main() 


   .global _vector12    ; Hookup the c_int08 ISR in main()


   .global _vector13  


   .global _vector14  


   .global _vector15  



 


*------------------------------------------------------------------------------


* Global symbols referenced in this file but defined somewhere else.


* Remember that your interrupt service routines need to be referenced here.


*------------------------------------------------------------------------------


   .ref _c_int00 ;reset ISR(复位中断设置寄存), .ref表明一个或多个在另一个模块中定义而在前模块中要用到的符号



 


*------------------------------------------------------------------------------


* This is a macro that instantiates one entry in the interrupt service table.


*------------------------------------------------------------------------------


VEC_ENTRY .macro addr ;中断返回函数


    STW   B0,*--B15


    MVKL  addr,B0


    MVKH  addr,B0


    B     B0


    LDW   *B15++,B0


    NOP   2


    NOP  


    NOP  


   .endm


 


 


*------------------------------------------------------------------------------


* This is a dummy interrupt service routine used to initialize the IST.


*------------------------------------------------------------------------------


_vec_dummy:  ;初始化IST寄存器(中断向量表起始地址寄存器,用于设置中断服务程序存放的地址)


  B    B3


  NOP  5



 


*------------------------------------------------------------------------------


* This is the actual interrupt service table (IST). It is properly aligned and


* is located in the subsection .text:vecs. This means if you don't explicitly


* specify this section in your linker command file, it will default and link


* into the .text section. Remember to set the ISTP(中断向量表起始地址寄存器) register to point to this


* table.


*------------------------------------------------------------------------------


 .sect ".vecs"  ;定义初始化带名称的段


 .align 1024  ;分配程序页



 


_vectors:


_vector0:   VEC_ENTRY _c_int00    ;RESET(应用程序的入口)


_vector1:   VEC_ENTRY _vec_dummy  ;NMI(非屏蔽中断,用于处理极为关键的任务)


_vector2:   VEC_ENTRY _vec_dummy  ;RSVD


_vector3:   VEC_ENTRY _vec_dummy


_vector4:   VEC_ENTRY _vec_dummy


_vector5:   VEC_ENTRY _vec_dummy


_vector6:   VEC_ENTRY _vec_dummy


_vector7:   VEC_ENTRY _vec_dummy


_vector8:   VEC_ENTRY _vec_dummy  


_vector9:   VEC_ENTRY _vec_dummy


_vector10:  VEC_ENTRY _vec_dummy


_vector11:  VEC_ENTRY _vec_dummy ; Hookup the c_int08 ISR in main()


_vector12:  VEC_ENTRY _vec_dummy    ; Hookup the c_int08 ISR in main()


_vector13:  VEC_ENTRY _vec_dummy


_vector14:  VEC_ENTRY _vec_dummy


_vector15:  VEC_ENTRY _vec_dummy


 


 


  完整版本请见http://www.51qianru.cn/bbs/



 


                                                        曙海教育


                                                曙海嵌入式学院3G通信培训中心


                                            (MTK培训,Android培训,iPhone培训)


                                                电话:021-51875830


                                                网址:http://www.51qianru.cn


                                                    讲师:李现路


                                         版权所有-曙海教育 转摘请注明作者和出处课程有:



 <a href="http://www".bjzhda.cn>pads培训</a>
<a href="http://www".shuhai9.cn>高速板PCB培训</a>
<a href="http://www".shanghaifdi.cn>pads培训</a>
<a href="http://www".shanghaifdi.cn>PADS Power PCB培训</a>

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条