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

📄 amisr_uart.src

📁 Wince4.2 BSP for SH4 engineering development board
💻 SRC
字号:

;
;       Copyright (c) Renesas Technology Corp. 2001-2003  All Rights Reserved.
;
;       OEM Adaptation Layer
;
; ----------------------------------------------------------------------------
;
;   FILE      : AMISR_UART.SRC
;   CREATED   : 2001. 7. 5
;   MODIFIED  : 2003.08.06
;   AUTHOR    : Renesas Technology Corp.
;   HARDWARE  : RENESAS US7751-HRP1xC (BigSur with HD64404, ITS-DS2A),
;               RENESAS HS7751RSTC01H (S1-E, ITS-DS5)
;   TARGET OS : Microsoft(R) Windows(R) CE .NET 4.2
;   NOTES     : 
;   FUNCTION  : Interrupt service routine for HD64404 UART and IrDA modules
;   HISTORY   :
;               2001. 7. 5
;               - Initially created.
;               2001. 8.24
;               - ISRs for all UART modules are implemented.
;               2002. 1.21
;               - Address parameters are changed to refer "HD64404.INC".
;               2002. 5.30
;               - Changed to include platform-independent platform include
;                file "PLATFORM.INC".
;               2002. 9. 9
;               - Header style is changed and file information is added.
;               - SYSINTR symbols are renamed to match actual UART names.
;               2002.10.15
;               - Codes related to HD64404 DMAC are removed and simple ISRs
;                that masks each request by HD64404 interrupt priority module
;                are implemented.

        .include "kxshx.h"
        .include "oalintr.inc"
        .include "platform.inc"
        .include "hd64404.inc"
        .include "drv_glob.inc"

;
;   ISR for each independent UART channel 
;

        LEAF_ENTRY HD64404_UART0ISR
        mov.l   #INTPRI_MASK, r0        ; Get address for HD64404 IRQ mask reg
        mov.l   @r0, r1                 ; Get current interrupt mask
        mov.l   #IRQBIT_UART0, r2       ; Get register bit position for UART0
        or      r2, r1                  ; Set mask bit for UART0
        mov.l   r1, @r0                 ; Set new mask bits to IRQM register
        rts                             ; Return with 1 delay slot
        mov     #SYSINTR_UART0_IR, r0   ; Set SYSINTR code
        ENTRY_END

        LEAF_ENTRY HD64404_UART1ISR
        mov.l   #INTPRI_MASK, r0        ; Get address for HD64404 IRQ mask reg
        mov.l   @r0, r1                 ; Get current interrupt mask
        mov.l   #IRQBIT_UART1, r2       ; Get register bit position for UART1
        or      r2, r1                  ; Set mask bit for UART1
        mov.l   r1, @r0                 ; Set new mask bits to IRQM register
        rts                             ; Return with 1 delay slot
        mov     #SYSINTR_UART1, r0      ; Set SYSINTR code
        ENTRY_END

        LEAF_ENTRY HD64404_UART2ISR
        mov.l   #INTPRI_MASK, r0        ; Get address for HD64404 IRQ mask reg
        mov.l   @r0, r1                 ; Get current interrupt mask
        mov.l   #IRQBIT_UART2, r2       ; Get register bit position for UART2
        or      r2, r1                  ; Set mask bit for UART2
        mov.l   r1, @r0                 ; Set new mask bits to IRQM register
        rts                             ; Return with 1 delay slot
        mov     #SYSINTR_UART2, r0      ; Set SYSINTR code
        ENTRY_END

        LEAF_ENTRY HD64404_UART3ISR
        mov.l   #INTPRI_MASK, r0        ; Get address for HD64404 IRQ mask reg
        mov.l   @r0, r1                 ; Get current interrupt mask
        mov.l   #IRQBIT_UART3, r2       ; Get register bit position for UART3
        or      r2, r1                  ; Set mask bit for UART3
        mov.l   r1, @r0                 ; Set new mask bits to IRQM register
        rts                             ; Return with 1 delay slot
        mov     #SYSINTR_UART3, r0      ; Set SYSINTR code
        ENTRY_END

        .end

⌨️ 快捷键说明

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