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

📄 vectors.s

📁 motorola自己开发的针对coldfire 5272的Dbug bootloader程序
💻 S
字号:
#
# File:		vectors.s
#
# Purpose:		Exception vectors for MPC8XX dBUG
#
# Author:		Eric DeVolder
# Date:
#
# 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 + -