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

📄 irq.inc

📁 LPC2100DEMO板开发原代码,包括网络键盘定时器发光管等驱动代码
💻 INC
字号:
;/*******************************************************************************************************
;**                                     西安傅立叶电子科技
;**                                Xian FFT Electornic Technology
;**                                   http://www.fftchina.com
;********************************************************************************************************/

NoInt       EQU 0x80

USR32Mode   EQU 0x10
SVC32Mode   EQU 0x13
SYS32Mode   EQU 0x1f
IRQ32Mode   EQU 0x12
FIQ32Mode   EQU 0x11


        IMPORT  OSIntCtxSw
        IMPORT  OSIntExit
        IMPORT  OSTCBCur
        IMPORT  OSTCBHighRdy
        IMPORT  OSIntNesting
        IMPORT  StackUsr
        IMPORT  OsEnterSum

    CODE32

    AREA    IRQ,CODE,READONLY

    MACRO
$IRQ_Label HANDLER $IRQ_Exception_Function

        EXPORT  $IRQ_Label
        IMPORT  $IRQ_Exception_Function

$IRQ_Label
        SUB     LR, LR, #4
        STMFD   SP!, {R0-R3, R12, LR}
        MRS     R3, SPSR
        STMFD   SP, {R3, SP, LR}^
        LDR     R2,  =OSIntNesting
        LDRB    R1, [R2]
        ADD     R1, R1, #1
        STRB    R1, [R2]

        SUB     SP, SP, #4*3
        
        MSR     CPSR_c, #(NoInt | SYS32Mode)
        CMP     R1, #1
        LDREQ   SP, =StackUsr
        
        BL      $IRQ_Exception_Function
        MSR     CPSR_c, #(NoInt | SYS32Mode)
        LDR     R2, =OsEnterSum
        MOV     R1, #1
        STR     R1, [R2]

        BL      OSIntExit

        LDR     R2, =OsEnterSum
        MOV     R1, #0
        STR     R1, [R2]

        MSR     CPSR_c, #(NoInt | IRQ32Mode)
        LDMFD   SP, {R3, SP, LR}^
                                 
        LDR     R0, =OSTCBHighRdy
        LDR     R0, [R0]
        LDR     R1, =OSTCBCur
        LDR     R1, [R1]
        CMP     R0, R1

        ADD     SP, SP, #4*3 
        MSR     SPSR_cxsf, R3
        LDMEQFD SP!, {R0-R3, R12, PC}^
        LDR     PC, =OSIntCtxSw
    MEND

    END

⌨️ 快捷键说明

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