📄 ext_irq.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 28/Oct/2005 11:26:48 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\src\ext_irq.c #
# Command line = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\src\ext_irq.c -lC #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\RAM_Debug\List #
# \ --remarks -o E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X2 #
# 56-Interrupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\compil #
# \RAM_Debug\Obj\ -z9 --debug --cpu_mode thumb #
# --endian little --cpu ARM7TDMI --stack_align 4 #
# --interwork -e --fpu None --dlib_config "D:\Program #
# Files\IAR Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tptinl8n.h" -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\srcIAR\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\..\src\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\..\..\ -I #
# "D:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Kickstart\arm\INC\" #
# List file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\RAM_Debug\List #
# \ext_irq.lst #
# Object file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\RAM_Debug\Obj\ #
# ext_irq.r79 #
# #
# #
##############################################################################
E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\src\ext_irq.c
1 // ----------------------------------------------------------------------------
2 // ATMEL Microcontroller Software Support - ROUSSET -
3 // ----------------------------------------------------------------------------
4 // DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
5 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
6 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
7 // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
8 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
10 // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
11 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
12 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13 // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 // ----------------------------------------------------------------------------
15 // File Name : ext_irq.c
16 // Object : External interrupt handler for irq
17 // Creation : JPP 08-Sep-2005
18 // ----------------------------------------------------------------------------
19
20 // Include Standard LIB files
21 #include "project.h"
22
23 //*----------------------------------------------------------------------------
24 //* Function Name : FIQ_init_handler
25 //* Object : Irq Handler calAT91B_LED by the FIQ interrupt with AT91
26 //* compatibility
27 ///*----------------------------------------------------------------------------
\ In segment CODE_I, align 4, keep-with-next
28 __ramfunc void FIQ_init_handler(void)
29 {
30 //* Read the output state
31 if ( (AT91F_PIO_GetInput(AT91C_BASE_PIOB) & AT91B_LED2 ) == AT91B_LED2 )
\ FIQ_init_handler:
\ 00000000 0548 LDR R0,??FIQ_init_handler_0 ;; 0xfffff63c
\ 00000002 0068 LDR R0,[R0, #+0]
\ 00000004 8021 MOV R1,#+0x80
\ 00000006 4903 LSL R1,R1,#+0xD ;; #+0x100000
\ 00000008 0842 TST R0,R1
\ 0000000A 01D0 BEQ ??FIQ_init_handler_1
32 {
33 AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, AT91B_LED2 );
\ 0000000C 0348 LDR R0,??FIQ_init_handler_0+0x4 ;; 0xfffff634
\ 0000000E 00E0 B ??FIQ_init_handler_2
34 }
35 else
36 {
37 AT91F_PIO_SetOutput( AT91C_BASE_PIOB, AT91B_LED2 );
\ ??FIQ_init_handler_1:
\ 00000010 0348 LDR R0,??FIQ_init_handler_0+0x8 ;; 0xfffff630
\ ??FIQ_init_handler_2:
\ 00000012 0160 STR R1,[R0, #+0]
38 }
39
40 }
\ 00000014 00B0 ADD SP,#+0
\ 00000016 7047 BX LR ;; return
\ ??FIQ_init_handler_0:
\ 00000018 3CF6FFFF DC32 0xfffff63c
\ 0000001C 34F6FFFF DC32 0xfffff634
\ 00000020 30F6FFFF DC32 0xfffff630
41
Maximum stack usage in bytes:
Function CSTACK
-------- ------
FIQ_init_handler 4
Segment part sizes:
Function/Label Bytes
-------------- -----
FIQ_init_handler 36
Others 20
44 bytes in segment CODE_I
12 bytes in segment INITTAB
36 bytes of CODE memory (+ 20 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -