📄 gfd_dma_int.s
字号:
;**************************************************************************************
;*
;* (c) 2004 ASIC,all rights reserved
;*
;*
;* This source code and any compilation or derivative thereof
;*is proprietary information and is confidential in nature.
;* Under no circumstance is this software to be exposed or placed
;*under an open source License of any type without expressed
;*written permission of ASIC.
;*
;*filename: HA_int_dma.s
;*history:
;*
;* Version Date Author Comments
;*------------------------------------------------------------------------------------
;* 1.0 2004.9.24 lmq Initial Creation
;*
;***************************************************************************************;
AREA INT_GPT, CODE, READONLY
ENTRY ; Mark first instruction to execute
include hardware_gfd.h
ENT_INT_DMA
EXPORT ENT_INT_DMA
;/*ENT_INT_UART1*/
ldmfd sp!, R_ALL_0_12
msr cpsr_c, #0xd3 ;/CHANGE MODLE TO THE SVC MODLE
;/NOW IN THE SVC MODLE
stmfd sp!, {RTA} ;/save the temp value
IMPORT LR_IRQ
IMPORT SPSR_IRQ
ldr RTA, =LR_IRQ
ldr RTA, [RTA] ;/LOAD THE LR
sub RTA,RTA,#4
stmfd sp!, {RTA} ;/SAVE THE LR_IRQ-4 TO THE SP_SYS
ldr RTA, =SPSR_IRQ
ldr RTA, [RTA] ;/LOAD THE SPSR_IRQ
stmfd sp!, {RTA} ;/SAVE THE SPSR_IRQ TO THE SP_SYS ;stmfd sp!, {spsr, lr}
;/one layer
stmfd sp!, R_ALL_0_12
ldr RTA, =INTC_PLV ;//read the plv and store in the stack
ldr RTA, [RTA]
stmfd sp!, {RTA} ;//SAVE THE PLV INTO THE SVC'S STACK
;/set the plv
ldr RTA, =INTC_PLV
mov RTB, #0X05
str RTB, [RTA]
;// IMPORT ent_int
;// bl ent_int
;/open the irq
;/mrs RTA, cpsr
;/bic RTA, RTA, #0x80 ;OPEN IRQ
;/bic RTA, RTA, #0x80 ;OPEN IRQ
;/bic RTA, RTA, #0x80 ;OPEN IRQ
;/msr cpsr_c, RTA
;/*jump to the int_handler*/
IMPORT usbdma
bl usbdma
IF :DEF: HA_DEBUG
ENDIF
;/CLOSE THE IRQ
mrs RTA, cpsr
orr RTA, RTA, #0X80 ;/CLOSE IRQ
msr cpsr_c, RTA
IMPORT END_INT
b END_INT
;/END OF ENT_INT_EXTINT0
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -