📄 lh7a404_vectors.asm
字号:
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; $Workfile: lh7a404_vectors.asm $
; $Revision: 1.0 $
; $Author: WellsK $
; $Date: Jun 30 2003 16:32:46 $
;
; Project: LH7A404 interrupt and exception vectors
;
; Description:
; Interrupt and exception handler vector layout used by the
; interrupt driver, exception functions, and startup code. This
; block is placed at the start of the ARM memory region at address
; 0x00000000 or 0xFFFF0000 (if high vectors are enabled).
;
; Notes:
; This version of the file is used with the GNU Pro toolset.
;
; Revision history:
; $Log: //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/csps/lh7a404/source/lh7a404_vectors.asm-arc $
;
; Rev 1.0 Jun 30 2003 16:32:46 WellsK
; Initial revision.
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
; OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
; AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES,
; SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
;
; SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY
; FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A
; SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
; FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
;
; COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
; CAMAS, WA
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
.text
.code 32
.align 2
.global lh7a404_reset_vector
.global vec_reset_handler
.global vec_undefined_handler
.global vec_swi_handler
.global vec_prefetch_handler
.global vec_abort_handler
.global vec_irq_handler
.global vec_fiq_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Function: Basic interrupt and exception jump block
;
; Purpose: Block that defines the interrupt and exception jump points
;
; Description:
; On a bootable image that is being built, this area should be
; linked to address 0x00000000. This area may be used with the
; interrupt and exception drivers when installing handlers and
; routers. For each interrupt and exception that gets routed
; here, the indirect PC value of the handler function is loaded
; to jump to that function.
;
; Parameters: NA
;
; Outputs; NA
;
; Returns: NA
;
; Notes: NA
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_reset_vector:
LDR pc, [pc, #24] /* Get address of Reset handler */
LDR pc, [pc, #24] /* Get address of Undefined handler */
LDR pc, [pc, #24] /* Get address of SWI handler */
LDR pc, [pc, #24] /* Get address of Prefetch handler */
LDR pc, [pc, #24] /* Get address of Abort handler */
NOP /* Reserved */
LDR pc, [pc, #20] /* Get address of IRQ handler */
LDR pc, [pc, #20] /* Get address of FIQ handler */
vec_reset_handler:
.word lh7a404_reset_handler
vec_undefined_handler:
.word lh7a404_undefined_handler
vec_swi_handler:
.word lh7a404_swi_handler
vec_prefetch_handler:
.word lh7a404_prefetch_handler
vec_abort_handler:
.word lh7a404_abort_handler
vec_irq_handler:
.word lh7a404_irq_handler
vec_fiq_handler:
.word lh7a404_fiq_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_reset_handler
;
; Purpose:
; Default reset handler
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes:
; The board startup code does not use this handler! However, when
; the interrupt and exception table is installed, the reset handler
; will be updated to this handler.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_reset_handler:
B lh7a404_reset_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_undefined_handler
;
; Purpose:
; Handle the undefined exception
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes: None
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_undefined_handler:
B lh7a404_undefined_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_swi_handler
;
; Purpose:
; Handle the software interrupt
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes: None
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_swi_handler:
B lh7a404_swi_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_prefetch_handler
;
; Purpose:
; Handle the prefetch abort exception
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes: None
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_prefetch_handler:
B lh7a404_prefetch_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_abort_handler
;
; Purpose:
; Handle the abort exception
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes: None
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_abort_handler:
B lh7a404_abort_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_irq_handler
;
; Purpose:
; Handle the IRQ interrupt
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes: None
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_irq_handler:
B lh7a404_irq_handler
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
; Function: lh7a404_fiq_handler
;
; Purpose:
; Handle the FIQ interrupt
;
; Processing:
; Loop forever
;
; Parameters: None
;
; Outputs: None
;
; Returns: Nothing
;
; Notes: None
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
lh7a404_fiq_handler:
B lh7a404_fiq_handler
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -