⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 DDS之AD9910驱动源码
💻 LST
字号:
ARM COMPILER V2.53,  main                                                                  25/11/08  15:54:07  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] = 0x1D3F4150;//SYNC_CLK = 250MHz System Clock = 1GHz
   28   1      //  RegisterData[0] = 0x193F4128;//SYNC_CLK = 125MHz System Clock = 500MHz
   29   1      
   30   1          WriteToAD9910ViaSpi(0x02,1,RegisterData);//System Clock = 1GHz
   31   1      
   32   1          RegisterData[1] = 0x08b50000;
   33   1          RegisterData[0] = 0x1999999A;//100MHz Output Frequency
   34   1      //  RegisterData[1] = 0x08b50000;
   35   1      //  RegisterData[0] = 0x33333333;//200MHz Output Frequency
   36   1      
   37   1          WriteToAD9910ViaSpi(0x0E,2,RegisterData);//100MHz output
   38   1      
   39   1          ReadFromAD9910ViaSpi(0x82,1,RegisterData);
   40   1      
   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:07  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] = 0x1D3F4150;//SYNC_CLK = 250MHz System Clock = 1GHz
 00000006  4800      LDR         R1,=0x1D3F4150
 00000008  4800      LDR         R0,=RegisterData ; RegisterData
 0000000A  6001      STR         R1,[R0,#0x0] ; RegisterData
   30:     WriteToAD9910ViaSpi(0x02,1,RegisterData);//System Clock = 1GHz
 0000000C  4800      LDR         R2,=RegisterData ; RegisterData
 0000000E  2002      MOV         R0,#0x2
 00000010  2101      MOV         R1,#0x1
 00000012  F7FF      BL          WriteToAD9910ViaSpi?T  ; T=0x0001  (1)
 00000014  FFF5      BL          WriteToAD9910ViaSpi?T  ; T=0x0001  (2)
   32:     RegisterData[1] = 0x08b50000;
 00000016  4800      LDR         R1,=0x8B50000
 00000018  4800      LDR         R0,=RegisterData + 0x4 ; RegisterData+4
 0000001A  6001      STR         R1,[R0,#0x0] ; RegisterData+4
   33:     RegisterData[0] = 0x1999999A;//100MHz Output Frequency
 0000001C  4800      LDR         R1,=0x1999999A
 0000001E  4800      LDR         R0,=RegisterData ; RegisterData
 00000020  6001      STR         R1,[R0,#0x0] ; RegisterData
ARM COMPILER V2.53,  main                                                                  25/11/08  15:54:07  PAGE 3   

   37:     WriteToAD9910ViaSpi(0x0E,2,RegisterData);//100MHz output
 00000022  4800      LDR         R2,=RegisterData ; RegisterData
 00000024  200E      MOV         R0,#0xE
 00000026  2102      MOV         R1,#0x2
 00000028  F7FF      BL          WriteToAD9910ViaSpi?T  ; T=0x0001  (1)
 0000002A  FFEA      BL          WriteToAD9910ViaSpi?T  ; T=0x0001  (2)
   39:     ReadFromAD9910ViaSpi(0x82,1,RegisterData);
 0000002C  4800      LDR         R2,=RegisterData ; RegisterData
 0000002E  2082      MOV         R0,#0x82
 00000030  2101      MOV         R1,#0x1
 00000032  F7FF      BL          ReadFromAD9910ViaSpi?T  ; T=0x0001  (1)
 00000034  FFE5      BL          ReadFromAD9910ViaSpi?T  ; T=0x0001  (2)
   41:     un.ui = RegisterData[0];
 00000036  4800      LDR         R0,=RegisterData ; RegisterData
 00000038  6801      LDR         R1,[R0,#0x0] ; RegisterData
 0000003A  4800      LDR         R0,=un ; un
 0000003C  6001      STR         R1,[R0,#0x0] ; un
   42:     putchar(un.uc[3]);
 0000003E  4800      LDR         R0,=un + 0x3 ; un+3
 00000040  7800      LDRB        R0,[R0,#0x0] ; un+3
 00000042  F7FF      BL          putchar?T  ; T=0x0001  (1)
 00000044  FFDD      BL          putchar?T  ; T=0x0001  (2)
   43:     putchar(un.uc[2]);
 00000046  4800      LDR         R0,=un + 0x2 ; un+2
 00000048  7800      LDRB        R0,[R0,#0x0] ; un+2
 0000004A  F7FF      BL          putchar?T  ; T=0x0001  (1)
 0000004C  FFD9      BL          putchar?T  ; T=0x0001  (2)
   44:     putchar(un.uc[1]);
 0000004E  4800      LDR         R0,=un + 0x1 ; un+1
 00000050  7800      LDRB        R0,[R0,#0x0] ; un+1
 00000052  F7FF      BL          putchar?T  ; T=0x0001  (1)
 00000054  FFD5      BL          putchar?T  ; T=0x0001  (2)
   45:     putchar(un.uc[0]);
 00000056  4800      LDR         R0,=un ; un
 00000058  7800      LDRB        R0,[R0,#0x0] ; un
 0000005A  F7FF      BL          putchar?T  ; T=0x0001  (1)
 0000005C  FFD1      BL          putchar?T  ; T=0x0001  (2)
   48:     {;}
 0000005E          L_6:
 0000005E  E7FE      B           L_6  ; T=0x0000005E
   49: }
 00000060  BC08      POP         {R3}
 00000062  4718      BX          R3
 00000064          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 + -