?? main.lst
字號:
ARM COMPILER V2.53, main 25/11/08 15:54:12 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c THUMB BROWSE DEBUG TABS(4)
stmt level source
1 /*-----------------------ADI AD9910 Driver Reference Design Source Code----------------------------------
--
2
3 Author: ADI CAST (China Application Support Team)
4 Date: 2008-11-20
5 Rev: 1.0
6 Description: Realize AD9910 Driver,Use ADuC7026 as MCU,Development Tool: KEIL C
7
8 ---------------------------------------------------------------------------------------------------------
-*/
9 #include <ADuC7026.h>
10 #include <common.h>
11
12 union{unsigned int ui; unsigned char uc[4];}un;
13 unsigned int RegisterData[2] = {0,0};
14
15 int putchar(unsigned long ch) { /* Write character to Serial Port */
16 1
17 1 while(!(0x020==(COMSTA0 & 0x020)))
18 1 {}
19 1
20 1 return (COMTX = ch); //COMTX is an 8-bit transmit register.
21 1 }
22
23 void main(void)
24 {
25 1 ADuC7026_Initiate(); //ADuC7026 Initialization
26 1
27 1 RegisterData[0] = 0x00000002;//SDIO Input Only
28 1 WriteToAD9910ViaSpi(0x00,1,RegisterData);//3-Wire Communication
29 1
30 1 RegisterData[0] = 0x1D3F4150;//SYNC_CLK = 250MHz System Clock = 1GHz
31 1 // RegisterData[0] = 0x193F4128;//SYNC_CLK = 125MHz System Clock = 500MHz
32 1 WriteToAD9910ViaSpi(0x02,1,RegisterData);//System Clock = 1GHz
33 1
34 1 RegisterData[1] = 0x08b50000;
35 1 RegisterData[0] = 0x1999999A;//100MHz Output Frequency
36 1 // RegisterData[1] = 0x08b50000;
37 1 // RegisterData[0] = 0x33333333;//200MHz Output Frequency
38 1 WriteToAD9910ViaSpi(0x0E,2,RegisterData);//100MHz output
39 1
40 1 ReadFromAD9910ViaSpi(0x82,1,RegisterData);
41 1 un.ui = RegisterData[0];
42 1 putchar(un.uc[3]);
43 1 putchar(un.uc[2]);
44 1 putchar(un.uc[1]);
45 1 putchar(un.uc[0]);
46 1
47 1 while(1)
48 1 {;}
49 1 }
ARM COMPILER V2.53, main 25/11/08 15:54:12 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (ADuC7026_Initiate?T)
EXTERN CODE16 (WriteToAD9910ViaSpi?T)
EXTERN CODE16 (ReadFromAD9910ViaSpi?T)
EXTERN NUMBER (__startup)
*** PUBLICS:
PUBLIC main
PUBLIC putchar?T
PUBLIC un
PUBLIC RegisterData
*** DATA SEGMENT '?DT0?main':
00000000 un:
00000000 DS 4
00000004 RegisterData:
00000004 BEGIN_INIT
00000004 00000000 DD 0x0
00000008 00000000 DD 0x0
0000000C END_INIT
*** CODE SEGMENT '?PR?putchar?T?main':
15: int putchar(unsigned long ch) { /* Write character to Serial Port */
00000000 1C02 MOV R2,R0 ; ch
00000002 ---- Variable 'ch' assigned to Register 'R2' ----
18: {}
00000002 L_1:
00000002 4800 LDR R0,=0xFFFF0714
00000004 6800 LDR R0,[R0,#0x0]
00000006 2120 MOV R1,#0x20
00000008 4208 TST R0,R1
0000000A D0FA BEQ L_1 ; T=0x00000002
20: return (COMTX = ch); //COMTX is an 8-bit transmit register.
0000000C 1C10 MOV R0,R2 ; ch
0000000E 4800 LDR R1,=0xFFFF0700
00000010 6008 STR R0,[R1,#0x0]
21: }
00000012 4770 BX R14
00000014 ENDP ; 'putchar?T'
*** CODE SEGMENT '?PR?main?main':
23: void main(void)
00000000 B500 PUSH {LR}
25: ADuC7026_Initiate(); //ADuC7026 Initialization
00000002 F7FF BL ADuC7026_Initiate?T ; T=0x0001 (1)
00000004 FFFD BL ADuC7026_Initiate?T ; T=0x0001 (2)
27: RegisterData[0] = 0x00000002;//SDIO Input Only
00000006 2102 MOV R1,#0x2
00000008 4800 LDR R0,=RegisterData ; RegisterData
0000000A 6001 STR R1,[R0,#0x0] ; RegisterData
28: WriteToAD9910ViaSpi(0x00,1,RegisterData);//3-Wire Communication
0000000C 4800 LDR R2,=RegisterData ; RegisterData
0000000E 2000 MOV R0,#0x0
00000010 2101 MOV R1,#0x1
00000012 F7FF BL WriteToAD9910ViaSpi?T ; T=0x0001 (1)
00000014 FFF5 BL WriteToAD9910ViaSpi?T ; T=0x0001 (2)
30: RegisterData[0] = 0x1D3F4150;//SYNC_CLK = 250MHz System Clock = 1GHz
00000016 4800 LDR R1,=0x1D3F4150
00000018 4800 LDR R0,=RegisterData ; RegisterData
0000001A 6001 STR R1,[R0,#0x0] ; RegisterData
32: WriteToAD9910ViaSpi(0x02,1,RegisterData);//System Clock = 1GHz
0000001C 4800 LDR R2,=RegisterData ; RegisterData
0000001E 2002 MOV R0,#0x2
00000020 2101 MOV R1,#0x1
ARM COMPILER V2.53, main 25/11/08 15:54:12 PAGE 3
00000022 F7FF BL WriteToAD9910ViaSpi?T ; T=0x0001 (1)
00000024 FFED BL WriteToAD9910ViaSpi?T ; T=0x0001 (2)
34: RegisterData[1] = 0x08b50000;
00000026 4800 LDR R1,=0x8B50000
00000028 4800 LDR R0,=RegisterData + 0x4 ; RegisterData+4
0000002A 6001 STR R1,[R0,#0x0] ; RegisterData+4
35: RegisterData[0] = 0x1999999A;//100MHz Output Frequency
0000002C 4800 LDR R1,=0x1999999A
0000002E 4800 LDR R0,=RegisterData ; RegisterData
00000030 6001 STR R1,[R0,#0x0] ; RegisterData
38: WriteToAD9910ViaSpi(0x0E,2,RegisterData);//100MHz output
00000032 4800 LDR R2,=RegisterData ; RegisterData
00000034 200E MOV R0,#0xE
00000036 2102 MOV R1,#0x2
00000038 F7FF BL WriteToAD9910ViaSpi?T ; T=0x0001 (1)
0000003A FFE2 BL WriteToAD9910ViaSpi?T ; T=0x0001 (2)
40: ReadFromAD9910ViaSpi(0x82,1,RegisterData);
0000003C 4800 LDR R2,=RegisterData ; RegisterData
0000003E 2082 MOV R0,#0x82
00000040 2101 MOV R1,#0x1
00000042 F7FF BL ReadFromAD9910ViaSpi?T ; T=0x0001 (1)
00000044 FFDD BL ReadFromAD9910ViaSpi?T ; T=0x0001 (2)
41: un.ui = RegisterData[0];
00000046 4800 LDR R0,=RegisterData ; RegisterData
00000048 6801 LDR R1,[R0,#0x0] ; RegisterData
0000004A 4800 LDR R0,=un ; un
0000004C 6001 STR R1,[R0,#0x0] ; un
42: putchar(un.uc[3]);
0000004E 4800 LDR R0,=un + 0x3 ; un+3
00000050 7800 LDRB R0,[R0,#0x0] ; un+3
00000052 F7FF BL putchar?T ; T=0x0001 (1)
00000054 FFD5 BL putchar?T ; T=0x0001 (2)
43: putchar(un.uc[2]);
00000056 4800 LDR R0,=un + 0x2 ; un+2
00000058 7800 LDRB R0,[R0,#0x0] ; un+2
0000005A F7FF BL putchar?T ; T=0x0001 (1)
0000005C FFD1 BL putchar?T ; T=0x0001 (2)
44: putchar(un.uc[1]);
0000005E 4800 LDR R0,=un + 0x1 ; un+1
00000060 7800 LDRB R0,[R0,#0x0] ; un+1
00000062 F7FF BL putchar?T ; T=0x0001 (1)
00000064 FFCD BL putchar?T ; T=0x0001 (2)
45: putchar(un.uc[0]);
00000066 4800 LDR R0,=un ; un
00000068 7800 LDRB R0,[R0,#0x0] ; un
0000006A F7FF BL putchar?T ; T=0x0001 (1)
0000006C FFC9 BL putchar?T ; T=0x0001 (2)
48: {;}
0000006E L_6:
0000006E E7FE B L_6 ; T=0x0000006E
49: }
00000070 BC08 POP {R3}
00000072 4718 BX R3
00000074 ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = 12
const size = ------
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -