?? dbgu.lst
字號:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 02/Nov/2005 14:51:10 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Int #
# errupt\src\dbgu.c #
# Command line = E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Int #
# errupt\src\dbgu.c -lC E:\SAM7X\AT91SAM7X256-CAN-IAR4 #
# _30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_FLASH\List #
# \ -o E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7 #
# X-Interrupt\compil\FLASH_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\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Int #
# errupt\compil\srcIAR\ -I E:\SAM7X\AT91SAM7X256-CAN-I #
# AR4_30A-1_2\AT91SAM7X-Interrupt\compil\..\src\ -I #
# E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Int #
# errupt\compil\..\..\ -I "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 Kickstart\arm\INC\" #
# List file = E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Int #
# errupt\compil\FLASH_FLASH\List\dbgu.lst #
# Object file = E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Int #
# errupt\compil\FLASH_FLASH\Obj\dbgu.r79 #
# #
# #
##############################################################################
E:\SAM7X\AT91SAM7X256-CAN-IAR4_30A-1_2\AT91SAM7X-Interrupt\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 <stdarg.h>
17 #include <stdio.h>
18 #include "project.h"
19
20 //*--------------------------1--------------------------------------------------
21 //* \fn AT91F_DBGU_Printk
22 //* \brief This function is used to send a string through the DBGU channel (Very low level debugging)
23 //*----------------------------------------------------------------------------
\ In segment CODE, align 4, keep-with-next
24 void AT91F_DBGU_Printk( char *buffer)
25 {
26 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
\ AT91F_DBGU_Printk:
\ 00000000 0CE0 B ??AT91F_DBGU_Printk_0
27 unsigned int temp;
28
29 while(*buffer != '\0')
30 {
31 temp=0;
32
33 while (temp==0)
34 {
35 if ( (pDbgu->DBGU_CSR & 0x0200) == 0)
\ ??AT91F_DBGU_Printk_1:
\ 00000002 0949 LDR R1,??AT91F_DBGU_Printk_2 ;; 0xfffff214
\ 00000004 0968 LDR R1,[R1, #+0]
36 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
37 else
38 temp=1;
39 }
\ 00000014 F5D0 BEQ ??AT91F_DBGU_Printk_1
40
41 pDbgu->DBGU_THR = *buffer;
\ 00000016 0549 LDR R1,??AT91F_DBGU_Printk_2+0x4 ;; 0xfffff21c
\ 00000018 0A60 STR R2,[R1, #+0]
42 buffer++;
\ 0000001A 401C ADD R0,R0,#+0x1
43 }
\ ??AT91F_DBGU_Printk_0:
\ 0000001C 0278 LDRB R2,[R0, #+0]
\ 0000001E 002A CMP R2,#+0
\ 00000020 EFD1 BNE ??AT91F_DBGU_Printk_1
44 }
\ 00000022 00B0 ADD SP,#+0
\ 00000024 7047 BX LR ;; return
\ 00000026 C046 NOP
\ ??AT91F_DBGU_Printk_2:
\ 00000028 14F2FFFF DC32 0xfffff214
\ 0000002C 1CF2FFFF DC32 0xfffff21c
45
46
\ In segment CODE, align 4, keep-with-next
47 void Init_DBGU_CLK(void)
48 {
49 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]
50 }
\ 00000006 7047 BX LR ;; return
\ ??Init_DBGU_CLK_0:
\ 00000008 10FCFFFF DC32 0xfffffc10
51
\ In segment CODE, align 4, keep-with-next
52 void Init_DBGU_BGR(unsigned short baud)
53 {
54 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
55
56 pDbgu->DBGU_BRGR = (unsigned short)baud;
\ Init_DBGU_BGR:
\ 00000000 .... LDR R1,??DataTable6 ;; 0xfffff220
\ 00000002 0860 STR R0,[R1, #+0]
57 }
\ 00000004 7047 BX LR ;; return
58
\ In segment CODE, align 4, keep-with-next
59 void DBGU_TX_Enable(void)
60 {
61 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
62
63 pDbgu->DBGU_CR = 0x00000040;
\ DBGU_TX_Enable:
\ 00000000 .... LDR R0,??DataTable5 ;; 0xfffff200
\ 00000002 4021 MOV R1,#+0x40
\ 00000004 0160 STR R1,[R0, #+0]
64 }
\ 00000006 7047 BX LR ;; return
65
\ In segment CODE, align 4, keep-with-next
66 void DBGU_RX_Enable(void)
67 {
68 AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
69
70 pDbgu->DBGU_CR = 0x00000010;
\ DBGU_RX_Enable:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -