📄 dbgu.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 01/Nov/2005 10:59:18 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\src\dbgu.c #
# Command line = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\src\dbgu.c -lC #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\Binary\List\ -o #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\Binary\Obj\ -z9 #
# --debug --cpu_mode thumb --endian little --cpu #
# ARM7TDMI --stack_align 4 -e --fpu None #
# --dlib_config "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tptnnl8f.h" -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\srcIAR\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\..\src\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\..\..\ -I #
# "D:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Kickstart\arm\INC\" #
# List file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\Binary\List\dbgu.lst #
# Object file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\Binary\Obj\dbgu.r79 #
# #
# #
##############################################################################
E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR430A-1_2\BasicAES-SAM7X\src\dbgu.c
1 //*----------------------------------------------------------------------------
2 //* ATMEL Microcontroller Software Support - ROUSSET -
3 //*----------------------------------------------------------------------------
4 //* The software is delivered "AS IS" without warranty or condition of any
5 //* kind, either express, implied or statutory. This includes without
6 //* limitation any warranty or condition with respect to merchantability or
7 //* fitness for any particular purpose, or against the infringements of
8 //* intellectual property rights of others.
9 //*----------------------------------------------------------------------------
10 //* File Name : dbgu.c
11 //* Object : DBGU routines written in C
12 //* Creation : JG 16/Aug/2004
13 //*----------------------------------------------------------------------------
14
15 // Include Standard files
16 #include "project.h"
17
18 //*--------------------------1--------------------------------------------------
19 //* \fn AT91F_DBGU_Printk
20 //* \brief This function is used to send a string through the DBGU channel (Very low level debugging)
21 //*----------------------------------------------------------------------------
\ In segment CODE, align 4, keep-with-next
22 void AT91F_DBGU_Printk( char *buffer)
23 {
24 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\ AT91F_DBGU_Printk:
\ 00000000 0CE0 B ??AT91F_DBGU_Printk_0
25 unsigned int temp;
26
27 while(*buffer != '\0')
28 {
29 temp=0;
30
31 while (temp==0)
32 {
33 if ( (pDbgu->DBGU_CSR & 0x0200) == 0)
\ ??AT91F_DBGU_Printk_1:
\ 00000002 0849 LDR R1,??AT91F_DBGU_Printk_2 ;; 0xfffff214
\ 00000004 0968 LDR R1,[R1, #+0]
34 temp=0;
\ 00000006 8023 MOV R3,#+0x80
\ 00000008 9B00 LSL R3,R3,#+0x2 ;; #+0x200
\ 0000000A 0B40 AND R3,R1
\ 0000000C 191C MOV R1,R3
\ 0000000E 00D0 BEQ ??AT91F_DBGU_Printk_3
\ 00000010 0121 MOV R1,#+0x1
\ ??AT91F_DBGU_Printk_3:
\ 00000012 0906 LSL R1,R1,#+0x18
35 else
36 temp=1;
37 }
\ 00000014 F5D0 BEQ ??AT91F_DBGU_Printk_1
38
39 pDbgu->DBGU_THR = *buffer;
\ 00000016 0449 LDR R1,??AT91F_DBGU_Printk_2+0x4 ;; 0xfffff21c
\ 00000018 0A60 STR R2,[R1, #+0]
40 buffer++;
\ 0000001A 401C ADD R0,R0,#+0x1
41 }
\ ??AT91F_DBGU_Printk_0:
\ 0000001C 0278 LDRB R2,[R0, #+0]
\ 0000001E 002A CMP R2,#+0
\ 00000020 EFD1 BNE ??AT91F_DBGU_Printk_1
42 }
\ 00000022 7047 BX LR ;; return
\ ??AT91F_DBGU_Printk_2:
\ 00000024 14F2FFFF DC32 0xfffff214
\ 00000028 1CF2FFFF DC32 0xfffff21c
43
44
\ In segment CODE, align 4, keep-with-next
45 void Init_DBGU_CLK(void)
46 {
47 AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, ((unsigned int) 1 << AT91C_ID_SYS));
\ Init_DBGU_CLK:
\ 00000000 0148 LDR R0,??Init_DBGU_CLK_0 ;; 0xfffffc10
\ 00000002 0221 MOV R1,#+0x2
\ 00000004 0160 STR R1,[R0, #+0]
48 }
\ 00000006 7047 BX LR ;; return
\ ??Init_DBGU_CLK_0:
\ 00000008 10FCFFFF DC32 0xfffffc10
49
\ In segment CODE, align 4, keep-with-next
50 void Init_DBGU_BGR(unsigned short baud)
51 {
52 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
53
54 pDbgu->DBGU_BRGR = (unsigned short)baud;
\ Init_DBGU_BGR:
\ 00000000 .... LDR R1,??DataTable6 ;; 0xfffff220
\ 00000002 0860 STR R0,[R1, #+0]
55 }
\ 00000004 7047 BX LR ;; return
56
\ In segment CODE, align 4, keep-with-next
57 void DBGU_TX_Enable(void)
58 {
59 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
60
61 pDbgu->DBGU_CR = 0x00000040;
\ DBGU_TX_Enable:
\ 00000000 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000002 4021 MOV R1,#+0x40
\ 00000004 0160 STR R1,[R0, #+0]
62 }
\ 00000006 7047 BX LR ;; return
63
\ In segment CODE, align 4, keep-with-next
64 void DBGU_RX_Enable(void)
65 {
66 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
67
68 pDbgu->DBGU_CR = 0x00000010;
\ DBGU_RX_Enable:
\ 00000000 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000002 .... B ?Subroutine0
69 }
\ In segment CODE, align 4, keep-with-next
\ ?Subroutine0:
\ 00000000 1021 MOV R1,#+0x10
\ 00000002 0160 STR R1,[R0, #+0]
\ 00000004 7047 BX LR ;; return
\ 00000006 C046 NOP
\ ??Subroutine0_0:
\ 00000008 70F4FFFF DC32 0xfffff470
\ 0000000C 74F4FFFF DC32 0xfffff474
\ 00000010 04F4FFFF DC32 0xfffff404
70
\ In segment CODE, align 4, keep-with-next
71 void DBGU_RX_TX_RST_DIS(void)
72 {
73 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
74 pDbgu->DBGU_CR = 0x000000AC;
\ DBGU_RX_TX_RST_DIS:
\ 00000000 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000002 AC21 MOV R1,#+0xAC
\ 00000004 0160 STR R1,[R0, #+0]
75 }
\ 00000006 7047 BX LR ;; return
76
\ In segment CODE, align 4, keep-with-next
77 void DBGU_Parity_Cfg(unsigned int par)
78 {
79 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
80
81 pDbgu->DBGU_MR = par << 9;
\ DBGU_Parity_Cfg:
\ 00000000 .... LDR R1,??DataTable7 ;; 0xfffff204
\ 00000002 4002 LSL R0,R0,#+0x9
\ 00000004 0860 STR R0,[R1, #+0]
82 }
\ 00000006 7047 BX LR ;; return
83
84
\ In segment CODE, align 4, keep-with-next
85 void Init_DBGU(void)
86 {
87 AT91F_DBGU_CfgPIO();
\ Init_DBGU:
\ 00000000 C020 MOV R0,#+0xC0
\ 00000002 4005 LSL R0,R0,#+0x15 ;; #+0x18000000
\ 00000004 .... LDR R1,??Subroutine0_0 ;; 0xfffff470
\ 00000006 0860 STR R0,[R1, #+0]
\ 00000008 .... LDR R1,??Subroutine0_0+0x4 ;; 0xfffff474
\ 0000000A 0022 MOV R2,#+0
\ 0000000C 0A60 STR R2,[R1, #+0]
\ 0000000E .... LDR R1,??Subroutine0_0+0x8 ;; 0xfffff404
\ 00000010 0860 STR R0,[R1, #+0]
88 DBGU_RX_TX_RST_DIS();
\ 00000012 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000014 AC21 MOV R1,#+0xAC
\ 00000016 0160 STR R1,[R0, #+0]
89 Init_DBGU_BGR(26); //26 <=> 115kBd
\ 00000018 .... LDR R1,??DataTable6 ;; 0xfffff220
\ 0000001A 1A22 MOV R2,#+0x1A
\ 0000001C 0A60 STR R2,[R1, #+0]
90 DBGU_Parity_Cfg(4);
\ 0000001E .... LDR R1,??DataTable7 ;; 0xfffff204
\ 00000020 8022 MOV R2,#+0x80
\ 00000022 1201 LSL R2,R2,#+0x4 ;; #+0x800
\ 00000024 0A60 STR R2,[R1, #+0]
91 DBGU_TX_Enable();
\ 00000026 4021 MOV R1,#+0x40
\ 00000028 0160 STR R1,[R0, #+0]
\ 0000002A C046 NOP
92 DBGU_RX_Enable();
\ 0000002C REQUIRE ?Subroutine0
\ 0000002C ;; // Fall through to label ?Subroutine0
93 }
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 00F2FFFF DC32 0xfffff200
\ In segment CODE, align 4, keep-with-next
\ ??DataTable6:
\ 00000000 20F2FFFF DC32 0xfffff220
\ In segment CODE, align 4, keep-with-next
\ ??DataTable7:
\ 00000000 04F2FFFF DC32 0xfffff204
94
95
Maximum stack usage in bytes:
Function CSTACK
-------- ------
AT91F_DBGU_Printk 4
DBGU_Parity_Cfg 0
DBGU_RX_Enable 0
DBGU_RX_TX_RST_DIS 0
DBGU_TX_Enable 0
Init_DBGU 0
Init_DBGU_BGR 0
Init_DBGU_CLK 0
Segment part sizes:
Function/Label Bytes
-------------- -----
AT91F_DBGU_Printk 44
Init_DBGU_CLK 12
Init_DBGU_BGR 6
DBGU_TX_Enable 8
DBGU_RX_Enable 4
?Subroutine0 20
DBGU_RX_TX_RST_DIS 8
DBGU_Parity_Cfg 8
Init_DBGU 44
??DataTable5 4
??DataTable6 4
??DataTable7 4
166 bytes in segment CODE
166 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -