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

📄 main.lst

📁 at91sam7x256 FREERTOS sd卡的读写程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.31A/W32 EVALUATION    15/Dec/2007  16:17:05 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  G:\AT91_ENERGY\ATMEL_ARM\mmssys\mmc_sd\main.c        #
#    Command line    =  G:\AT91_ENERGY\ATMEL_ARM\mmssys\mmc_sd\main.c -D     #
#                       AT91SAM7X256 -D PULL_UP_USB -D USE_LED -lC           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\RAM_Debug\List\" --remarks -o         #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\RAM_Debug\Obj\" -z9 --debug           #
#                       --cpu_mode thumb --endian little --cpu ARM7TDMI      #
#                       --stack_align 4 --interwork -e --fpu None            #
#                       --dlib_config "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\ARM\LIB\dl4tptinl8f.h" -I                 #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\srcIAR\" -I                           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\src\" -I                           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\..\" -I                            #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\..\FILESYSTEM\inc\" -I             #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\..\MASSSTORAGE\inc\" -I            #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\..\AT91SAM7X256\" -I               #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\inc\" -I                           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\..\mmc_sd\" -I                     #
#                       "G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass      #
#                       Storage\compil\..\..\COMMON_FS_MS\" -I "C:\Program   #
#                       Files\IAR Systems\Embedded Workbench 4.0             #
#                       Evaluation\ARM\INC\"                                 #
#    List file       =  G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass       #
#                       Storage\compil\RAM_Debug\List\main.lst               #
#    Object file     =  G:\AT91_ENERGY\ATMEL_ARM\mmssys\AT91SAM7X-Mass       #
#                       Storage\compil\RAM_Debug\Obj\main.r79                #
#                                                                            #
#                                                                            #
##############################################################################

G:\AT91_ENERGY\ATMEL_ARM\mmssys\mmc_sd\main.c
      1          #include "stdio.h"
      2          
      3          #include "mmc.h"
      4          extern unsigned char  GetBuff[512] ;
      5          
      6           unsigned char disk_read (
      7          	unsigned char *buff,			/* Data buffer to store read data */
      8          	unsigned long sector,		/* Sector number (LBA) */
      9          	unsigned char count			/* Sector count (1..255) */
     10               )   ;
     11          unsigned char disk_write (
     12          	const unsigned char *buff,	/* Data to be written */
     13          	unsigned long  sector,		/* Sector number (LBA) */
     14          	unsigned char  count			/* Sector count (1..255) */
     15               ) ;
     16          unsigned char send_cmd (
     17          	unsigned char cmd,		/* Command byte */
     18          	unsigned long arg		/* Argument */
     19          ) ;
     20          void AT91F_DBGU_Printk(	char *buffer)   ;
     21          void AT91F_DBGU_Init(void) ;
     22          extern void fat16_Nandflash_test(void);
     23          unsigned char disk_initialize ()    ;
     24          
     25          //************************
     26          
     27          
     28          

   \                                 In segment CODE, align 4, keep-with-next
     29          void main(void)
     30           {
   \                     main:
   \   00000000   50B5               PUSH        {R4,R6,LR}
     31              AT91F_DBGU_Init()  ;
   \   00000002   ........           _BLF        AT91F_DBGU_Init,??AT91F_DBGU_Init??rT
     32              for(int n=100;n>0;n--)
   \   00000006   6424               MOV         R4,#+100
     33               {
     34                 if(disk_initialize()==0x0)
   \                     ??main_0:
   \   00000008   ........           _BLF        disk_initialize,??disk_initialize??rT
   \   0000000C   0028               CMP         R0,#+0
   \   0000000E   05D1               BNE         ??main_1
     35                  {
     36                   AT91F_DBGU_Printk("SD/MMC inited OK  !");
   \   00000010   1548               LDR         R0,??main_2        ;; `?<Constant "SD/MMC inited OK  !">`
   \   00000012   ........           _BLF        AT91F_DBGU_Printk,??AT91F_DBGU_Printk??rT
     37                   fat16_Nandflash_test();
   \   00000016   ........           _BLF        fat16_Nandflash_test,??fat16_Nandflash_test??rT
     38                   break ;
   \   0000001A   02E0               B           ??main_3
     39                  }
     40               }
   \                     ??main_1:
   \   0000001C   641E               SUB         R4,R4,#+1
   \   0000001E   012C               CMP         R4,#+1
   \   00000020   F2DA               BGE         ??main_0
     41              disk_read ((unsigned char*)GetBuff,0,1 ) ;
   \                     ??main_3:
   \   00000022   124C               LDR         R4,??main_2+0x4    ;; GetBuff
   \   00000024   0122               MOV         R2,#+1
   \   00000026   0021               MOV         R1,#+0
   \   00000028   201C               MOV         R0,R4
   \   0000002A   ........           _BLF        disk_read,??disk_read??rT
     42          
     43              sprintf((char*)GetBuff,"HK Baite_group SD/MMC in spi program! \r\n");
   \   0000002E   1049               LDR         R1,??main_2+0x8    ;; `?<Constant "SD/MMC inited OK  !">` + 20
   \   00000030   201C               MOV         R0,R4
   \   00000032   ........           _BLF        sprintf,??sprintf??rT
     44              for(int n=0;n<=5;n++)
   \   00000036   0026               MOV         R6,#+0
     45                disk_write((unsigned char*)GetBuff,n,1)  ;
   \                     ??main_4:
   \   00000038   0122               MOV         R2,#+1
   \   0000003A   311C               MOV         R1,R6
   \   0000003C   201C               MOV         R0,R4
   \   0000003E   ........           _BLF        disk_write,??disk_write??rT
   \   00000042   761C               ADD         R6,R6,#+1
   \   00000044   062E               CMP         R6,#+6
   \   00000046   F7DB               BLT         ??main_4
     46              for(;;)
     47               {
     48          
     49                  for(int n=0;n<=5;n++)
   \                     ??main_5:
   \   00000048   0026               MOV         R6,#+0
     50                   {
     51                   // memset(GetBuff,'0',512);  //for disable the warning ,use following instruct
     52          
     53                    GetBuff[0] ='\0' ;
   \                     ??main_6:
   \   0000004A   0020               MOV         R0,#+0
   \   0000004C   2070               STRB        R0,[R4, #+0]
     54                    disk_read (GetBuff,n,1 )  ;
   \   0000004E   0122               MOV         R2,#+1
   \   00000050   311C               MOV         R1,R6
   \   00000052   201C               MOV         R0,R4
   \   00000054   ........           _BLF        disk_read,??disk_read??rT
     55                    AT91F_DBGU_Printk((char *)GetBuff);
   \   00000058   201C               MOV         R0,R4
   \   0000005A   ........           _BLF        AT91F_DBGU_Printk,??AT91F_DBGU_Printk??rT
     56                   }
   \   0000005E   761C               ADD         R6,R6,#+1
   \   00000060   062E               CMP         R6,#+6
   \   00000062   F1DA               BGE         ??main_5
   \   00000064   F1E7               B           ??main_6
   \   00000066   C046               NOP         
   \                     ??main_2:
   \   00000068   ........           DC32        `?<Constant "SD/MMC inited OK  !">`
   \   0000006C   ........           DC32        GetBuff
   \   00000070   ........           DC32        `?<Constant "SD/MMC inited OK  !">` + 20
     57               }
     58                     	
     59           }

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "SD/MMC inited OK  !">`:
   \   00000000   53442F4D4D43       DC8 "SD/MMC inited OK  !"
   \              20696E697465
   \              64204F4B2020
   \              2100        
   \   00000014   484B20426169       DC8 "HK Baite_group SD/MMC in spi program! \015\012"
   \              74655F67726F
   \              75702053442F
   \              4D4D4320696E
   \              207370692070
   \              726F6772616D
   \              21200D0A00  
   \   0000003D   000000             DC8 0, 0, 0

   Maximum stack usage in bytes:

     Function CSTACK
     -------- ------
     main        16


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     main                            116
     ?<Constant "SD/MMC inited OK  !">
                                      64
      Others                          80

 
 196 bytes in segment CODE
  64 bytes in segment DATA_C
 
 116 bytes of CODE  memory (+ 80 bytes shared)
  64 bytes of CONST memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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