⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intvect.s54

📁 数码投影仪项目可以作为学习实用
💻 S54
字号:
******************************************************************************
* Vect_C54X.asm
*
* DESCRIPTION:
*   THIS IS THE MOST IMPORTANT FILE WHEN USING INTERRUPTS.  This file maps
*	the interrupts to a varable.  This allows for easy debugging because you
*	can set breakpoints at the interrupts definitions to determine which one 
*	is being tripped.

 	  .length 58  
	  .mmregs
	  
	  ;all interrupts used in the program must be referenced
      .ref  _c_int00 
      .global  _xboot
      .global  VECT_PMST
        
*****************************************************************************
*   INTERRUPT VECTORS	                         
*	Make sure that every interrupt is defined in the .sect "vectors"
*	section.  These are all the standard interrupts for the C54X.  Also, you
*	need to referrence the ones that you use in your code in the .ref part.
*   
*	NOTE: There are 4 words per instructions per interrupt.
*	The B (branch) statements takes 2, while NOP are 1 each
*	Maps a name (on the left) to a interrupt (on the right).	
*****************************************************************************

          .mmregs

          .global _c_int00
          .global _api_isr



* A macro representing an unused ISR vector
NULL_ISR  .macro
spin?        B   spin?
             NOP 
             NOP
          .endm

        .sect "intvects"

                        ; Name          Dec_Offset Pri     Function
                        ; ---------------------------------------------------
_vector:
        B  	_c_int00    ; RS,SINTR        0        1       hardware reset
		NOP
		NOP

        NULL_ISR        ; Reserved        4        2       
		NULL_ISR        ; SINT17          8        -       s/w int 17
		NULL_ISR        ; SINT18         12        -       s/w int 18
		NULL_ISR        ; SINT19         16        -       s/w int 19
		NULL_ISR        ; SINT20         20        -       s/w int 20
		NULL_ISR        ; SINT21         24        -       s/w int 21
		NULL_ISR        ; SINT22         28        -       s/w int 22
		NULL_ISR        ; SINT23         32        -       s/w int 23
		NULL_ISR        ; SINT24         36        -       s/w int 24
		NULL_ISR        ; SINT25         40        -       s/w int 25
		NULL_ISR        ; SINT26         44        -       s/w int 26
		NULL_ISR        ; SINT27         48        -       s/w int 27
		NULL_ISR        ; SINT28         52        -       s/w int 28
		NULL_ISR        ; SINT29         56        -       s/w int 29
		NULL_ISR        ; SINT30         60        -       s/w int 30
		NULL_ISR        ; INT0,SINT0     64        3       ext user int
		NULL_ISR        ; Reserved       68        4
		NULL_ISR        ; Reserved       72        5
		NULL_ISR        ; TINT,SINT3     76        6       timer int
		NULL_ISR        ; BRINT0,SINT4   80        7       McBSP #0 receive
		NULL_ISR        ; BXINT0,SINT5   84        8       McBSP #0 transmit
		NULL_ISR        ; Reserved       88        9
		NULL_ISR        ; Reserved       92        10
		NULL_ISR        ; Reserved       96        11

        B _api_isr      ; AINT,SINT     100        12      API Interrupt
		NOP
		NOP		 

		NULL_ISR        ; BRINT1,DMAC2  104        13      McBSP #1 receive
		NULL_ISR        ; BXINT1,DMAC3  108        14      McBSP #1 transmit
		NULL_ISR        ; DMAC4,SINT12  112        15      DMA channel 4
		NULL_ISR        ; DMAC5,SINT13  116        16      DMA channel 5
		NULL_ISR        ; Reserved      120        -
		NULL_ISR        ; Reserved      124        -

        
          .data
* define a dummy data section to give bootloader some data to move
dummy:	  .word   1          

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -