📄 interrupt_usart.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 02/Nov/2005 11:26:56 #
# 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\interrupt_Usart.c #
# Command line = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\src\interrupt_Usart.c #
# -lC E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interru #
# pt-IAR4_30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_FLA #
# SH\List\ -o E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256- #
# Interrupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\compil\FL #
# ASH_FLASH\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\FLASH_FLASH\Li #
# st\interrupt_Usart.lst #
# Object file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
# R4_30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_FLASH\Ob #
# j\interrupt_Usart.r79 #
# #
# #
##############################################################################
E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\src\interrupt_Usart.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 : interrupt_Usart.c
16 // Object : USART Interrupt Management
17 // Creation : JPP 08-Sep-2005
18 // ----------------------------------------------------------------------------
19
20 // Include Standard LIB files
21 #include "project.h"
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs unsigned int AT91F_AIC_ConfigureIt(AT91PS_AIC, unsigned int, unsigned int, unsigned int, void (*)())
\ AT91F_AIC_ConfigureIt:
\ 00000000 F4B4 PUSH {R2,R4-R7}
\ 00000002 021C MOV R2,R0
\ 00000004 0C1C MOV R4,R1
\ 00000006 059E LDR R6,[SP, #+0x14]
\ 00000008 8900 LSL R1,R1,#+0x2
\ 0000000A 4718 ADD R7,R0,R1
\ 0000000C 8037 ADD R7,#+0x80
\ 0000000E 3868 LDR R0,[R7, #+0]
\ 00000010 0125 MOV R5,#+0x1
\ 00000012 A540 LSL R5,R4
\ 00000014 2C1C MOV R4,R5
\ 00000016 9225 MOV R5,#+0x92
\ 00000018 6D00 LSL R5,R5,#+0x1 ;; #+0x124
\ 0000001A 5519 ADD R5,R2,R5
\ 0000001C 2C60 STR R4,[R5, #+0]
\ 0000001E 3E60 STR R6,[R7, #+0]
\ 00000020 009E LDR R6,[SP, #+0]
\ 00000022 1E43 ORR R6,R3
\ 00000024 5650 STR R6,[R2, R1]
\ 00000026 6C60 STR R4,[R5, #+0x4]
\ 00000028 F8BC POP {R3-R7}
\ 0000002A 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_PDC_Open(AT91PS_PDC)
\ AT91F_PDC_Open:
\ 00000000 0221 MOV R1,#+0x2
\ 00000002 0162 STR R1,[R0, #+0x20]
\ 00000004 0902 LSL R1,R1,#+0x8
\ 00000006 0162 STR R1,[R0, #+0x20]
\ 00000008 0021 MOV R1,#+0
\ 0000000A 8161 STR R1,[R0, #+0x18]
\ 0000000C C161 STR R1,[R0, #+0x1C]
\ 0000000E 0161 STR R1,[R0, #+0x10]
\ 00000010 4161 STR R1,[R0, #+0x14]
\ 00000012 8160 STR R1,[R0, #+0x8]
\ 00000014 C160 STR R1,[R0, #+0xC]
\ 00000016 0160 STR R1,[R0, #+0]
\ 00000018 4160 STR R1,[R0, #+0x4]
\ 0000001A 0121 MOV R1,#+0x1
\ 0000001C 0162 STR R1,[R0, #+0x20]
\ 0000001E 0902 LSL R1,R1,#+0x8
\ 00000020 0162 STR R1,[R0, #+0x20]
\ 00000022 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_US_Configure(AT91PS_USART, unsigned int, unsigned int, unsigned int, unsigned int)
\ AT91F_US_Configure:
\ 00000000 30B5 PUSH {R4,R5,LR}
\ 00000002 041C MOV R4,R0
\ 00000004 081C MOV R0,R1
\ 00000006 151C MOV R5,R2
\ 00000008 039A LDR R2,[SP, #+0xC]
\ 0000000A 0021 MOV R1,#+0
\ 0000000C C943 MVN R1,R1 ;; #-1
\ 0000000E E160 STR R1,[R4, #+0xC]
\ 00000010 AC21 MOV R1,#+0xAC
\ 00000012 2160 STR R1,[R4, #+0]
\ 00000014 0A21 MOV R1,#+0xA
\ 00000016 4843 MUL R0,R1
\ 00000018 1901 LSL R1,R3,#+0x4
\ 0000001A ........ _BLF ??divu32_t,??rT??divu32_t
\ 0000001E 0B1C MOV R3,R1
\ 00000020 081C MOV R0,R1
\ 00000022 0A21 MOV R1,#+0xA
\ 00000024 ........ _BLF ??divu32_t,??rT??divu32_t
\ 00000028 0528 CMP R0,#+0x5
\ 0000002A 05D3 BCC ??AT91F_US_Configure_0
\ 0000002C 181C MOV R0,R3
\ 0000002E 0A21 MOV R1,#+0xA
\ 00000030 ........ _BLF ??divu32_t,??rT??divu32_t
\ 00000034 491C ADD R1,R1,#+0x1
\ 00000036 03E0 B ??AT91F_US_Configure_1
\ ??AT91F_US_Configure_0:
\ 00000038 181C MOV R0,R3
\ 0000003A 0A21 MOV R1,#+0xA
\ 0000003C ........ _BLF ??divu32_t,??rT??divu32_t
\ ??AT91F_US_Configure_1:
\ 00000040 2162 STR R1,[R4, #+0x20]
\ 00000042 A262 STR R2,[R4, #+0x28]
\ 00000044 8020 MOV R0,#+0x80
\ 00000046 4000 LSL R0,R0,#+0x1 ;; #+0x100
\ 00000048 2018 ADD R0,R4,R0
\ 0000004A ........ _BLF AT91F_PDC_Open,AT91F_PDC_Open??rT
\ 0000004E 6560 STR R5,[R4, #+0x4]
\ 00000050 30BC POP {R4,R5}
\ 00000052 01BC POP {R0}
\ 00000054 0047 BX R0 ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs unsigned int AT91F_US_SendFrame(AT91PS_USART, char *, unsigned int, char *, unsigned int)
\ AT91F_US_SendFrame:
\ 00000000 30B5 PUSH {R4,R5,LR}
\ 00000002 039C LDR R4,[SP, #+0xC]
\ 00000004 8025 MOV R5,#+0x80
\ 00000006 6D00 LSL R5,R5,#+0x1 ;; #+0x100
\ 00000008 4019 ADD R0,R0,R5
\ 0000000A C568 LDR R5,[R0, #+0xC]
\ 0000000C 002D CMP R5,#+0
\ 0000000E 05D1 BNE ??AT91F_US_SendFrame_0
\ 00000010 8160 STR R1,[R0, #+0x8]
\ 00000012 C260 STR R2,[R0, #+0xC]
\ 00000014 8361 STR R3,[R0, #+0x18]
\ 00000016 C461 STR R4,[R0, #+0x1C]
\ 00000018 0220 MOV R0,#+0x2
\ 0000001A 07E0 B ??AT91F_US_SendFrame_1
\ ??AT91F_US_SendFrame_0:
\ 0000001C C369 LDR R3,[R0, #+0x1C]
\ 0000001E 002B CMP R3,#+0
\ 00000020 03D1 BNE ??AT91F_US_SendFrame_2
\ 00000022 8161 STR R1,[R0, #+0x18]
\ 00000024 C261 STR R2,[R0, #+0x1C]
\ 00000026 0120 MOV R0,#+0x1
\ 00000028 00E0 B ??AT91F_US_SendFrame_1
\ ??AT91F_US_SendFrame_2:
\ 0000002A 0020 MOV R0,#+0
\ ??AT91F_US_SendFrame_1:
\ 0000002C 30BC POP {R4,R5}
\ 0000002E 02BC POP {R1}
\ 00000030 0847 BX R1 ;; return
22
23 #define USART0_INTERRUPT_LEVEL 6
24 #define USART1_INTERRUPT_LEVEL 7
25 #define AT91_BAUD_RATE 115200
\ In segment DATA_C, align 4, align-sorted
26 static const char szembed_header[]=
\ ??szembed_header:
\ 00000000 0A0D3D3D3D3D DC8 0AH, 0DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH
\ 3D3D
\ 00000008 3D3D3D3D3D3D DC8 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH
\ 3D3D
\ 00000010 3D3D3D3D3D3D DC8 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH
\ 3D3D
\ 00000018 3D3D3D3D3D3D DC8 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH
\ 3D3D
\ 00000020 3D3D3D3D3D3D DC8 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH
\ 3D3D
\ 00000028 3D3D3D3D3D3D DC8 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH, 3DH
\ 3D3D
\ 00000030 3D3D0A0D3D3D DC8 3DH, 3DH, 0AH, 0DH, 3DH, 3DH, 20H, 20H
\ 2020
\ 00000038 202020202020 DC8 20H, 20H, 20H, 20H, 20H, 20H, 20H, 0BBH
\ 20BB
\ 00000040 B6D3ADCAB9D3 DC8 0B6H, 0D3H, 0ADH, 0CAH, 0B9H, 0D3H, 0C3H, 0D3H
\ C3D3
\ 00000048 A2B1B4B5C2B9 DC8 0A2H, 0B1H, 0B4H, 0B5H, 0C2H, 0B9H, 0ABH, 0CBH
\ ABCB
\ 00000050 BEB5C4B2FAC6 DC8 0BEH, 0B5H, 0C4H, 0B2H, 0FAH, 0C6H, 0B7H, 20H
\ B720
\ 00000058 202020202020 DC8 20H, 20H, 20H, 20H, 20H, 20H, 20H, 20H
\ 2020
\ 00000060 20203D3D0A0D DC8 20H, 20H, 3DH, 3DH, 0AH, 0DH, 3DH, 3DH
\ 3D3D
\ 00000068 202020202020 DC8 20H, 20H, 20H, 20H, 20H, 20H, 20H, 20H
\ 2020
\ 00000070 204542445341 DC8 20H, 45H, 42H, 44H, 53H, 41H, 4DH, 37H
\ 4D37
\ 00000078 5820B8F7D6D6 DC8 58H, 20H, 0B8H, 0F7H, 0D6H, 0D6H, 0D6H, 0D0H
\ D6D0
\ 00000080 B6CFB5C4D1DD DC8 0B6H, 0CFH, 0B5H, 0C4H, 0D1H, 0DDH, 0CAH, 0BEH
\ CABE
\ 00000088 B2E2CAD42020 DC8 0B2H, 0E2H, 0CAH, 0D4H, 20H, 20H, 20H, 20H
\ 2020
\ 00000090 202020203D3D DC8 20H, 20H, 20H, 20H, 3DH, 3DH, 0AH, 0DH
\ 0A0D
\ 00000098 3D3D202020B8 DC8 3DH, 3DH, 20H, 20H, 20H, 0B8H, 0FCH, 0B6H
\ FCB6
\ 000000A0 E0B5C4B5C4B0 DC8 0E0H, 0B5H, 0C4H, 0B5H, 0C4H, 0B0H, 0EFH, 0D6H
\ EFD6
\ 000000A8 FAC7EBB5BD20 DC8 0FAH, 0C7H, 0EBH, 0B5H, 0BDH, 20H, 68H, 74H
\ 6874
\ 000000B0 74703A2F2F77 DC8 74H, 70H, 3AH, 2FH, 2FH, 77H, 77H, 77H
\ 7777
\ 000000B8 2E737A656D62 DC8 2EH, 73H, 7AH, 65H, 6DH, 62H, 65H, 64H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -