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

📄 vectors.s

📁 motorola 针对coldfire 5275 评估板的Dbug bootloader源程序
💻 S
字号:
#

# File:     vectors.s

#

# Purpose:      Exception vectors for MPC8XX dBUG

#

#

# Modificiations:

#

#



    # Globally accessible symbols

    .global VECTOR_TABLE



    .extern asm_startmeup

    .extern asm_exception_body

    .extern asm_isr_handler

    .extern dbug_sc_handler



    .text



    #

    # This is the vector table for the MPC8XX.  It is placed here so that it

    # can be in a FLASH/ROM at bootup to initialize the system.  All of the

    # exceptions use a generic "exception header" before branching to the

    # actual handler.

    #

    # This file MUST be the first file linked in order for this code to be

    # ROM-able.

    #

    # The generic handler saves r31 into SPRG0, LR into SPRG1, places

    # the exception number in r3, and invokes the handler.

    #



    .equ    sprg0,272

    .equ    sprg1,273



    .macro  vector NUM,HANDLER

exception_\NUM:

    mtspr   sprg0,31

    mfspr   r31,lr

    mtspr   sprg1,31

    bl      next\NUM

next\NUM:

    mfspr   r31,lr

    rlwinm  r31,r31,0,0,23

    lwz     r31,vect\NUM - exception_\NUM(31)

    mtspr   lr,r31

    bclrl   20,0

vect\NUM:

    .long   \HANDLER

    .space  256-(10*4),0

    .endm





VECTOR_TABLE:



vector  0000,asm_exception_body     # reserved

vector  0100,asm_startmeup          # hard reset

vector  0200,asm_exception_body     # machine check

vector  0300,asm_exception_body     # data access

vector  0400,asm_exception_body     # instruction access

vector  0500,asm_isr_handler        # external interrupt

vector  0600,asm_exception_body     # alignment

vector  0700,asm_exception_body     # program

vector  0800,asm_exception_body     # floating-point unavail

vector  0900,asm_isr_handler        # decrementer

vector  0A00,asm_exception_body     # reserved

vector  0B00,asm_exception_body     # reserved

vector  0C00,dbug_sc_handler        # system call

vector  0D00,asm_exception_body     # trace

vector  0E00,asm_exception_body     # floating point assist

vector  0F00,asm_exception_body     # reserved

vector  1000,asm_exception_body     # software emulation

vector  1100,asm_exception_body     # instruction tlb miss

vector  1200,asm_exception_body     # data tlb miss

vector  1300,asm_exception_body     # instruction tlb error

vector  1400,asm_exception_body     # data tlb error

vector  1500,asm_exception_body     # reserved

vector  1600,asm_exception_body     # reserved

vector  1700,asm_exception_body     # reserved

vector  1800,asm_exception_body     # reserved

vector  1900,asm_exception_body     # reserved

vector  1A00,asm_exception_body     # reserved

vector  1B00,asm_exception_body     # reserved

vector  1C00,asm_exception_body     # data breakpoint

vector  1D00,asm_exception_body     # instruction breakpoint

vector  1E00,asm_exception_body     # peripheral breakpoint

vector  1F00,asm_exception_body     # development port



######################################################################



    .end

⌨️ 快捷键说明

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