📄 vectors.s
字号:
/*
* File: vectors.s
* Purpose: MCF5xxx vector table for dBUG.
*
* Notes:
*
*/
#ifndef _UNDERSCORE_
#define _asm_startmeup asm_startmeup
#define _asm_exception_handler asm_exception_handler
#define _asm_isr_handler asm_isr_handler
#define _dbug_sc_handler _dbug_sc_handler
#define ___SP_INIT ___SP_INIT
#endif
.global VECTOR_TABLE
.global _VECTOR_TABLE
.global start
.global _start
.extern _asm_startmeup
.extern ___SP_INIT
.extern _asm_exception_handler
.extern _asm_isr_handler
.extern _dbug_sc_handler
.text
/*
* Exception Vector Table
*/
VECTOR_TABLE:
_VECTOR_TABLE:
INITSP: .long ___SP_INIT /* Initial SP */
INITPC: .long start /* Initial PC */
vector02: .long _asm_exception_handler /* Access Error */
vector03: .long _asm_exception_handler /* Address Error */
vector04: .long _asm_exception_handler /* Illegal Instruction */
vector05: .long _asm_exception_handler /* Divide by Zero */
vector06: .long _asm_exception_handler /* Reserved */
vector07: .long _asm_exception_handler /* Reserved */
vector08: .long _asm_exception_handler /* Privilege Violation */
vector09: .long _asm_exception_handler /* Trace */
vector0A: .long _asm_exception_handler /* Unimplemented A-Line */
vector0B: .long _asm_exception_handler /* Unimplemented F-Line */
vector0C: .long _asm_exception_handler /* Non-PC Brkpt Debug Int */
vector0D: .long _asm_exception_handler /* PC Brkpt Debug Int */
vector0E: .long _asm_exception_handler /* Format Error */
vector0F: .long _asm_exception_handler /* Unitialized Int */
vector10: .long _asm_exception_handler /* Reserved */
vector11: .long _asm_exception_handler /* Reserved */
vector12: .long _asm_exception_handler /* Reserved */
vector13: .long _asm_exception_handler /* Reserved */
vector14: .long _asm_exception_handler /* Reserved */
vector15: .long _asm_exception_handler /* Reserved */
vector16: .long _asm_exception_handler /* Reserved */
vector17: .long _asm_exception_handler /* Reserved */
vector18: .long _asm_exception_handler /* Spurious Interrupt */
vector19: .long _asm_isr_handler /* Autovector Level 1 */
vector1A: .long _asm_isr_handler /* Autovector Level 2 */
vector1B: .long _asm_isr_handler /* Autovector Level 3 */
vector1C: .long _asm_isr_handler /* Autovector Level 4 */
vector1D: .long _asm_isr_handler /* Autovector Level 5 */
vector1E: .long _asm_isr_handler /* Autovector Level 6 */
vector1F: .long _asm_isr_handler /* Autovector Level 7 */
vector20: .long _asm_exception_handler /* TRAP #0 */
vector21: .long _asm_exception_handler /* TRAP #1 */
vector22: .long _asm_exception_handler /* TRAP #2 */
vector23: .long _asm_exception_handler /* TRAP #3 */
vector24: .long _asm_exception_handler /* TRAP #4 */
vector25: .long _asm_exception_handler /* TRAP #5 */
vector26: .long _asm_exception_handler /* TRAP #6 */
vector27: .long _asm_exception_handler /* TRAP #7 */
vector28: .long _asm_exception_handler /* TRAP #8 */
vector29: .long _asm_exception_handler /* TRAP #9 */
vector2A: .long _asm_exception_handler /* TRAP #10 */
vector2B: .long _asm_exception_handler /* TRAP #11 */
vector2C: .long _asm_exception_handler /* TRAP #12 */
vector2D: .long _asm_exception_handler /* TRAP #13 */
vector2E: .long _asm_exception_handler /* TRAP #14 */
vector2F: .long _dbug_sc_handler /* TRAP #15 - System Call */
vector30: .long _asm_exception_handler /* Reserved */
vector31: .long _asm_exception_handler /* Reserved */
vector32: .long _asm_exception_handler /* Reserved */
vector33: .long _asm_exception_handler /* Reserved */
vector34: .long _asm_exception_handler /* Reserved */
vector35: .long _asm_exception_handler /* Reserved */
vector36: .long _asm_exception_handler /* Reserved */
vector37: .long _asm_exception_handler /* Reserved */
vector38: .long _asm_exception_handler /* Reserved */
vector39: .long _asm_exception_handler /* Reserved */
vector3A: .long _asm_exception_handler /* Reserved */
vector3B: .long _asm_exception_handler /* Reserved */
vector3C: .long _asm_exception_handler /* Reserved */
vector3D: .long _asm_exception_handler /* Unsupported Instruction */
vector3E: .long _asm_exception_handler /* Reserved */
vector3F: .long _asm_exception_handler /* Reserved */
vector40: .long _asm_isr_handler /* User Defined Interrupts */
vector41: .long _asm_isr_handler
vector42: .long _asm_isr_handler
vector43: .long _asm_isr_handler
vector44: .long _asm_isr_handler
vector45: .long _asm_isr_handler
vector46: .long _asm_isr_handler
vector47: .long _asm_isr_handler
vector48: .long _asm_isr_handler
vector49: .long _asm_isr_handler
vector4A: .long _asm_isr_handler
vector4B: .long _asm_isr_handler
vector4C: .long _asm_isr_handler
vector4D: .long _asm_isr_handler
vector4E: .long _asm_isr_handler
vector4F: .long _asm_isr_handler
vector50: .long _asm_isr_handler
vector51: .long _asm_isr_handler
vector52: .long _asm_isr_handler
vector53: .long _asm_isr_handler
vector54: .long _asm_isr_handler
vector55: .long _asm_isr_handler
vector56: .long _asm_isr_handler
vector57: .long _asm_isr_handler
vector58: .long _asm_isr_handler
vector59: .long _asm_isr_handler
vector5A: .long _asm_isr_handler
vector5B: .long _asm_isr_handler
vector5C: .long _asm_isr_handler
vector5D: .long _asm_isr_handler
vector5E: .long _asm_isr_handler
vector5F: .long _asm_isr_handler
vector60: .long _asm_isr_handler
vector61: .long _asm_isr_handler
vector62: .long _asm_isr_handler
vector63: .long _asm_isr_handler
vector64: .long _asm_isr_handler
vector65: .long _asm_isr_handler
vector66: .long _asm_isr_handler
vector67: .long _asm_isr_handler
vector68: .long _asm_isr_handler
vector69: .long _asm_isr_handler
vector6A: .long _asm_isr_handler
vector6B: .long _asm_isr_handler
vector6C: .long _asm_isr_handler
vector6D: .long _asm_isr_handler
vector6E: .long _asm_isr_handler
vector6F: .long _asm_isr_handler
vector70: .long _asm_isr_handler
vector71: .long _asm_isr_handler
vector72: .long _asm_isr_handler
vector73: .long _asm_isr_handler
vector74: .long _asm_isr_handler
vector75: .long _asm_isr_handler
vector76: .long _asm_isr_handler
vector77: .long _asm_isr_handler
vector78: .long _asm_isr_handler
vector79: .long _asm_isr_handler
vector7A: .long _asm_isr_handler
vector7B: .long _asm_isr_handler
vector7C: .long _asm_isr_handler
vector7D: .long _asm_isr_handler
vector7E: .long _asm_isr_handler
vector7F: .long _asm_isr_handler
vector80: .long _asm_isr_handler
vector81: .long _asm_isr_handler
vector82: .long _asm_isr_handler
vector83: .long _asm_isr_handler
vector84: .long _asm_isr_handler
vector85: .long _asm_isr_handler
vector86: .long _asm_isr_handler
vector87: .long _asm_isr_handler
vector88: .long _asm_isr_handler
vector89: .long _asm_isr_handler
vector8A: .long _asm_isr_handler
vector8B: .long _asm_isr_handler
vector8C: .long _asm_isr_handler
vector8D: .long _asm_isr_handler
vector8E: .long _asm_isr_handler
vector8F: .long _asm_isr_handler
vector90: .long _asm_isr_handler
vector91: .long _asm_isr_handler
vector92: .long _asm_isr_handler
vector93: .long _asm_isr_handler
vector94: .long _asm_isr_handler
vector95: .long _asm_isr_handler
vector96: .long _asm_isr_handler
vector97: .long _asm_isr_handler
vector98: .long _asm_isr_handler
vector99: .long _asm_isr_handler
vector9A: .long _asm_isr_handler
vector9B: .long _asm_isr_handler
vector9C: .long _asm_isr_handler
vector9D: .long _asm_isr_handler
vector9E: .long _asm_isr_handler
vector9F: .long _asm_isr_handler
vectorA0: .long _asm_isr_handler
vectorA1: .long _asm_isr_handler
vectorA2: .long _asm_isr_handler
vectorA3: .long _asm_isr_handler
vectorA4: .long _asm_isr_handler
vectorA5: .long _asm_isr_handler
vectorA6: .long _asm_isr_handler
vectorA7: .long _asm_isr_handler
vectorA8: .long _asm_isr_handler
vectorA9: .long _asm_isr_handler
vectorAA: .long _asm_isr_handler
vectorAB: .long _asm_isr_handler
vectorAC: .long _asm_isr_handler
vectorAD: .long _asm_isr_handler
vectorAE: .long _asm_isr_handler
vectorAF: .long _asm_isr_handler
vectorB0: .long _asm_isr_handler
vectorB1: .long _asm_isr_handler
vectorB2: .long _asm_isr_handler
vectorB3: .long _asm_isr_handler
vectorB4: .long _asm_isr_handler
vectorB5: .long _asm_isr_handler
vectorB6: .long _asm_isr_handler
vectorB7: .long _asm_isr_handler
vectorB8: .long _asm_isr_handler
vectorB9: .long _asm_isr_handler
vectorBA: .long _asm_isr_handler
vectorBB: .long _asm_isr_handler
vectorBC: .long _asm_isr_handler
vectorBD: .long _asm_isr_handler
vectorBE: .long _asm_isr_handler
vectorBF: .long _asm_isr_handler
vectorC0: .long _asm_isr_handler
vectorC1: .long _asm_isr_handler
vectorC2: .long _asm_isr_handler
vectorC3: .long _asm_isr_handler
vectorC4: .long _asm_isr_handler
vectorC5: .long _asm_isr_handler
vectorC6: .long _asm_isr_handler
vectorC7: .long _asm_isr_handler
vectorC8: .long _asm_isr_handler
vectorC9: .long _asm_isr_handler
vectorCA: .long _asm_isr_handler
vectorCB: .long _asm_isr_handler
vectorCC: .long _asm_isr_handler
vectorCD: .long _asm_isr_handler
vectorCE: .long _asm_isr_handler
vectorCF: .long _asm_isr_handler
vectorD0: .long _asm_isr_handler
vectorD1: .long _asm_isr_handler
vectorD2: .long _asm_isr_handler
vectorD3: .long _asm_isr_handler
vectorD4: .long _asm_isr_handler
vectorD5: .long _asm_isr_handler
vectorD6: .long _asm_isr_handler
vectorD7: .long _asm_isr_handler
vectorD8: .long _asm_isr_handler
vectorD9: .long _asm_isr_handler
vectorDA: .long _asm_isr_handler
vectorDB: .long _asm_isr_handler
vectorDC: .long _asm_isr_handler
vectorDD: .long _asm_isr_handler
vectorDE: .long _asm_isr_handler
vectorDF: .long _asm_isr_handler
vectorE0: .long _asm_isr_handler
vectorE1: .long _asm_isr_handler
vectorE2: .long _asm_isr_handler
vectorE3: .long _asm_isr_handler
vectorE4: .long _asm_isr_handler
vectorE5: .long _asm_isr_handler
vectorE6: .long _asm_isr_handler
vectorE7: .long _asm_isr_handler
vectorE8: .long _asm_isr_handler
vectorE9: .long _asm_isr_handler
vectorEA: .long _asm_isr_handler
vectorEB: .long _asm_isr_handler
vectorEC: .long _asm_isr_handler
vectorED: .long _asm_isr_handler
vectorEE: .long _asm_isr_handler
vectorEF: .long _asm_isr_handler
vectorF0: .long _asm_isr_handler
vectorF1: .long _asm_isr_handler
vectorF2: .long _asm_isr_handler
vectorF3: .long _asm_isr_handler
vectorF4: .long _asm_isr_handler
vectorF5: .long _asm_isr_handler
vectorF6: .long _asm_isr_handler
vectorF7: .long _asm_isr_handler
vectorF8: .long _asm_isr_handler
vectorF9: .long _asm_isr_handler
vectorFA: .long _asm_isr_handler
vectorFB: .long _asm_isr_handler
vectorFC: .long _asm_isr_handler
vectorFD: .long _asm_isr_handler
vectorFE: .long _asm_isr_handler
vectorFF: .long _asm_isr_handler
/*
* CFM Flash Configuration Field
*/
KEY_UPPER: .long 0x00000000
KEY_LOWER: .long 0x00000000
CFMPROT: .long 0x00000000
CFMSACC: .long 0x00000000
CFMDACC: .long 0x00000000
CFMSEC: .long 0x00000000
start:
_start:
move.w #0x2700,sr
jmp _asm_startmeup
/*
* The following routine can be used here if booting from internal
* Flash and it is desired to changed the FLASHBAR from the reset
* value of 0x0000_0000 to something else (defined as ___FLASH in
* a linker file for this example).
*
* To accomplish this, the following instructions are coded into
* the internal SRAM and then executed from there:
*
* move.l #(___FLASH + 0x61),d0
* movec d0, FLASHBAR
* jmp _asm_startmeup
*
* This sequence must be executed from a non-Flash address since we
* are changing the location of Flash. All the code in Flash should
* be linked to run from the desired Flash address even though the
* initial FLASHBAR is going to be 0x0000_0000.
*
* If this routine is to be used, uncomment it and comment out the
* jmp to _asm_startmeup above.
*/
;_change_flashbar:
;
; /* Initialize RAMBAR1: locate SRAM and validate it */
; move.l #(___SRAM + 0x21),d0
; .long 0x4e7b0C05 /* movec d0,RAMBAR1 */
;
; /* Point Stack Pointer into SRAM temporarily */
; move.l #(___SRAM + 0x10000),sp
;
; /* Move SRAM address to A0 */
; move.l #(___SRAM),a0
;
; /* Code "move.l #(___FLASH + 0x61),d0" into SRAM */
; move.w #0x203C,d0
; move.w d0,(a0)+
; move.l #(___FLASH + 0x61),d0
; move.l d0,(a0)+
;
; /* Code "movec d0,FLASHBAR" into SRAM */
; move.l #0x4e7b0C04,d0
; move.l d0,(a0)+
;
; /* Code "jmp _asm_startmeup" into SRAM */
; move.w #0x4EF9,d0
; move.w d0,(a0)+
; move.l #_asm_startmeup,d0
; move.l d0,(a0)+
;
; /* Jump to code segment in internal SRAM */
; jmp ___SRAM
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -