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

📄 main.lst

📁 针对at91sam7a3为主芯片开发板开发的spi口应用程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00000082   E021               MOV         R1,#+0xE0
   \   00000084   8903               LSL         R1,R1,#+0xE        ;; #+0x380000
   \   00000086   2920               MOV         R0,#+0x29
   \   00000088   ........           _BLF        MCI_SendCommand,MCI_SendCommand??rT
     63          
     64           /*   //   while((AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY)==0) ;
     65             GetResponed=AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI) ;
     66             while(GetResponed==0)
     67             {
     68                //读OCR寄存器的第31位,wait for ready !!!!!
     69                delay() ;
     70                GetResponed=AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI) ;
     71                //while(AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI)==0) ;
     72            }
     73             */delay() ;
     74             flag= MCI_SendCommand(0x02, 0 ,Respond_Len_136,0 )    ;       //GET CID
     75             while(flag !=0)
     76              {
     77                 delay() ;
   \                     ??main_8:
   \   0000008C   ........           _BLF        delay,delay??rT
     78                 flag= MCI_SendCommand(0x02, 0 ,Respond_Len_136,0 ) ;
     79              }
   \   00000090   0023               MOV         R3,#+0
   \   00000092   0222               MOV         R2,#+0x2
   \   00000094   0021               MOV         R1,#+0
   \   00000096   101C               MOV         R0,R2
   \   00000098   ........           _BLF        MCI_SendCommand,MCI_SendCommand??rT
   \   0000009C   0028               CMP         R0,#+0
   \   0000009E   F5D1               BNE         ??main_8
     80             GetResponed=AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI) ;
   \   000000A0   0F4C               LDR         R4,??main_0+0x18   ;; 0xfffac020
   \   000000A2   2068               LDR         R0,[R4, #+0]
   \   000000A4   05E0               B           ??main_9
     81             while(AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI)==0x0)
     82             MCI_SendCommand(0x03, 0 ,Respond_Len_48,0 )  ;           //get RCA
   \                     ??main_10:
   \   000000A6   0023               MOV         R3,#+0
   \   000000A8   0122               MOV         R2,#+0x1
   \   000000AA   0021               MOV         R1,#+0
   \   000000AC   0320               MOV         R0,#+0x3
   \   000000AE   ........           _BLF        MCI_SendCommand,MCI_SendCommand??rT
   \                     ??main_9:
   \   000000B2   2068               LDR         R0,[R4, #+0]
   \   000000B4   0028               CMP         R0,#+0
   \   000000B6   F6D0               BEQ         ??main_10
     83          
     84          
     85                // while((AT91F_MCI_GetStatus(AT91C_BASE_MCI) & AT91C_MCI_CMDRDY)==0) ;
     86                // GetResponed=AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI) ;
     87             for(;;)
     88              {
     89          
     90                 Get_SD_RCA() ;
   \                     ??main_11:
   \   000000B8   ........           _BLF        Get_SD_RCA,Get_SD_RCA??rT
     91                 for(int n=0;n<=20;n++)
   \   000000BC   1524               MOV         R4,#+0x15
     92                    delay() ;
   \                     ??main_12:
   \   000000BE   ........           _BLF        delay,delay??rT
   \   000000C2   641E               SUB         R4,R4,#+0x1
   \   000000C4   F8D0               BEQ         ??main_11
   \   000000C6   FAE7               B           ??main_12
   \                     ??main_0:
   \   000000C8   ........           DC32        `?<Constant "Start init! ">`
   \   000000CC   18F3FFFF           DC32        0xfffff318
   \   000000D0   1CF3FFFF           DC32        0xfffff31c
   \   000000D4   0CF3FFFF           DC32        0xfffff30c
   \   000000D8   08F3FFFF           DC32        0xfffff308
   \   000000DC   40C0FAFF           DC32        0xfffac040
   \   000000E0   20C0FAFF           DC32        0xfffac020
     93                // SD_get_volume_info()    ;
     94                // long int add=CHS_LBA(1 ,1 ,3);
     95                // MCI_ReadData(getDate  ,add,32, 1) ;
     96          
     97                // asm("nop") ;
     98              }
     99          #else
    100          /*   COmmand0 ;#1 pin must be high
    101             COmmand1 ; Read OCR register and set the voltage range
    102             COmmand2 ; Get the Unique ID in the CID.
    103             COmmand3 ; Set RCA for each cards.
    104          */
    105             MCI_Port_Init() ;
    106             MCI_Init() ;
    107             while((AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY)==0) ;
    108                MCI_SendData("123456789h",0x0 ,1) ;
    109                delay() ;
    110                delay() ;
    111             MCI_SendCommand(0x00 ,0x00000000 ,No_Respond,0 ) ;
    112             MCI_SendCommand(0x01 ,0x00FF1000 ,Respond_Len_48,0 ) ;
    113             MCI_SendCommand(0x02, 0 ,Respond_Len_136,0 ) ;
    114             MCI_SendCommand(0x03, 0 ,Respond_Len_48,0 )  ;
    115             for (;;)
    116                MCI_SendData("123456789h",0x0 ,1) ;
    117          #endif
    118          
    119          }
    120          //******************************************************************************

   \                                 In segment CODE, align 4, keep-with-next
    121          void DBGU_Init(void)
    122           {
   \                     DBGU_Init:
   \   00000000   10B5               PUSH        {R4,LR}
    123              AT91F_DBGU_CfgPIO() ;
   \   00000002   C021               MOV         R1,#+0xC0
   \   00000004   0906               LSL         R1,R1,#+0x18       ;; #-1073741824
   \   00000006   1148               LDR         R0,??DBGU_Init_0   ;; 0xfffff470
   \   00000008   0160               STR         R1,[R0, #+0]
   \   0000000A   0020               MOV         R0,#+0
   \   0000000C   104A               LDR         R2,??DBGU_Init_0+0x4  ;; 0xfffff474
   \   0000000E   1060               STR         R0,[R2, #+0]
   \   00000010   104A               LDR         R2,??DBGU_Init_0+0x8  ;; 0xfffff404
   \   00000012   1160               STR         R1,[R2, #+0]
    124              AT91F_DBGU_CfgPMC ();        //no need
   \   00000014   1049               LDR         R1,??DBGU_Init_0+0xC  ;; 0xfffffc10
   \   00000016   0222               MOV         R2,#+0x2
   \   00000018   0A60               STR         R2,[R1, #+0]
    125              AT91F_US_Configure((AT91PS_USART)AT91C_BASE_DBGU,MCK,AT91C_US_ASYNC_MODE,115200,0) ;
   \   0000001A   1049               LDR         R1,??DBGU_Init_0+0x10  ;; 0xfffff20c
   \   0000001C   0022               MOV         R2,#+0
   \   0000001E   D243               MVN         R2,R2              ;; #-1
   \   00000020   0A60               STR         R2,[R1, #+0]
   \   00000022   0F4C               LDR         R4,??DBGU_Init_0+0x14  ;; 0xfffff200
   \   00000024   AC21               MOV         R1,#+0xAC
   \   00000026   2160               STR         R1,[R4, #+0]
   \   00000028   0E49               LDR         R1,??DBGU_Init_0+0x18  ;; 0xfffff220
   \   0000002A   1A22               MOV         R2,#+0x1A
   \   0000002C   0A60               STR         R2,[R1, #+0]
   \   0000002E   0E49               LDR         R1,??DBGU_Init_0+0x1C  ;; 0xfffff228
   \   00000030   0860               STR         R0,[R1, #+0]
   \   00000032   0E48               LDR         R0,??DBGU_Init_0+0x20  ;; 0xfffff300
   \   00000034   ........           _BLF        AT91F_PDC_Open,AT91F_PDC_Open??rT
   \   00000038   0D48               LDR         R0,??DBGU_Init_0+0x24  ;; 0xfffff204
   \   0000003A   8C21               MOV         R1,#+0x8C
   \   0000003C   0901               LSL         R1,R1,#+0x4        ;; #+0x8C0
   \   0000003E   0160               STR         R1,[R0, #+0]
    126              AT91F_US_EnableTx((AT91PS_USART)AT91C_BASE_DBGU) ;
   \   00000040   4020               MOV         R0,#+0x40
   \   00000042   2060               STR         R0,[R4, #+0]
    127           }
   \   00000044   10BC               POP         {R4}
   \   00000046   01BC               POP         {R0}
   \   00000048   0047               BX          R0                 ;; return
   \   0000004A   C046               NOP         
   \                     ??DBGU_Init_0:
   \   0000004C   70F4FFFF           DC32        0xfffff470
   \   00000050   74F4FFFF           DC32        0xfffff474
   \   00000054   04F4FFFF           DC32        0xfffff404
   \   00000058   10FCFFFF           DC32        0xfffffc10
   \   0000005C   0CF2FFFF           DC32        0xfffff20c
   \   00000060   00F2FFFF           DC32        0xfffff200
   \   00000064   20F2FFFF           DC32        0xfffff220
   \   00000068   28F2FFFF           DC32        0xfffff228
   \   0000006C   00F3FFFF           DC32        0xfffff300
   \   00000070   04F2FFFF           DC32        0xfffff204

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "Start init! ">`:
   \   00000000   537461727420       DC8 "Start init! "
   \              696E69742120
   \              00          
   \   0000000D   000000             DC8 0, 0, 0
   \   00000010   313233343536       DC8 "123456789h"
   \              3738396800  
   \   0000001B   00                 DC8 0
    128          

   Maximum stack usage in bytes:

     Function       CSTACK
     --------       ------
     AT91F_PDC_Open     0
     DBGU_Init          8
     main              16


   Segment part sizes:

     Function/Label             Bytes
     --------------             -----
     AT91F_PDC_Open               36
     CMD_Responed                 64
     Get_Respond_Buffer           64
     RCA_Addr                      4
     getDate                       4
     ResponedType                  4
     main                        228
     DBGU_Init                   116
     ?<Constant "Start init! ">   28
      Others                     100

 
 468 bytes in segment CODE
  28 bytes in segment DATA_C
 140 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 344 bytes of CODE  memory (+ 136 bytes shared)
  28 bytes of CONST memory
 140 bytes of DATA  memory

Errors: none
Warnings: 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -