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

📄 main.lst

📁 at91sam7x256 FREERTOS sd卡的读写程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.31A/W32 EVALUATION    29/Nov/2007  16:53:59 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\DEMO_FS_MS\main.c  #
#    Command line    =  G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\DEMO_FS_MS\main.c  #
#                       -D AT91SAM7X256 -D PULL_UP_USB -D USE_LED -lC        #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\Binary\List\" -o                      #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\Binary\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\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\srcIAR\" -I                           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\src\" -I                           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\..\" -I                            #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\..\FILESYSTEM\inc\" -I             #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\..\MASSSTORAGE\inc\" -I            #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\..\AT91SAM7X256\" -I               #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\inc\" -I                           #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass    #
#                       Storage\compil\..\..\mmc_sd\" -I                     #
#                       "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\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\x256_mmc\AT91SAM7X-Mass     #
#                       Storage\compil\Binary\List\main.lst                  #
#    Object file     =  G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass     #
#                       Storage\compil\Binary\Obj\main.r79                   #
#                                                                            #
#                                                                            #
##############################################################################

G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\DEMO_FS_MS\main.c
      1          //  ----------------------------------------------------------------------------
      2          //          ATMEL Microcontroller Software Support  -  ROUSSET  -
      3          //  ----------------------------------------------------------------------------
      4          //  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
      5          //  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      6          //  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
      7          //  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
      8          //  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      9          //  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     10          //  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     11          //  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     12          //  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     13          //  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     14          //  ----------------------------------------------------------------------------
     15          //  File Name           : main.c
     16          //  Object              : Test function for the Basic File System FAT12 API
     17          //  Creation            : JCB 15/apr/2005
     18          //  Modif               :
     19          //  ----------------------------------------------------------------------------
     20          #include <stdio.h>
     21          #include <stdlib.h>
     22          
     23          // Include Standard files
     24          #include "board.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PDC_Open(AT91PS_PDC)
   \                     AT91F_PDC_Open:
   \   00000000   0221               MOV         R1,#+2
   \   00000002   0162               STR         R1,[R0, #+32]
   \   00000004   0902               LSL         R1,R1,#+8
   \   00000006   0162               STR         R1,[R0, #+32]
   \   00000008   0021               MOV         R1,#+0
   \   0000000A   8161               STR         R1,[R0, #+24]
   \   0000000C   C161               STR         R1,[R0, #+28]
   \   0000000E   0161               STR         R1,[R0, #+16]
   \   00000010   4161               STR         R1,[R0, #+20]
   \   00000012   8160               STR         R1,[R0, #+8]
   \   00000014   C160               STR         R1,[R0, #+12]
   \   00000016   0160               STR         R1,[R0, #+0]
   \   00000018   4160               STR         R1,[R0, #+4]
   \   0000001A   0121               MOV         R1,#+1
   \   0000001C   0162               STR         R1,[R0, #+32]
   \   0000001E   0902               LSL         R1,R1,#+8
   \   00000020   0162               STR         R1,[R0, #+32]
   \   00000022   7047               BX          LR                 ;; return
     25          #include "po_types.h"
     26          #include "po_kernel.h"
     27          #include "trace.h"
     28          //#include "bfsa_flash.h"
     29          #include "mmc.h"
     30          #include "bfsa_api.h"
     31          #include "fw_usb.h"
     32          #include "dbgu.h"
     33          
     34          // Globals

   \                                 In segment DATA_I, align 4, align-sorted
     35          BOOL bGet = TRUE;
   \                     bGet:
   \   00000000                      DS8 4
   \   00000004                      REQUIRE `?<Initializer for bGet>`
     36          
     37          
     38          /*****************************************************************
     39          *
     40          *
     41          * S U B - R O U T I N E  : menu
     42          *
     43          *-----------------------------------------------------------------
     44          *
     45          * Object :
     46          *   This function print a menu on DEBUG COM port to test BFSA.
     47          *
     48          * Argument :            NONE
     49          *
     50          * Return value :        NONE
     51          *
     52          *****************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     53          void menu(void)
     54          {
   \                     menu:
   \   00000000   F0B5               PUSH        {R4-R7,LR}
   \   00000002   C9B0               SUB         SP,#+292
     55            ULONG status = 0;
   \   00000004   0024               MOV         R4,#+0
     56            char val;
     57          
     58            if (bGet)
   \   00000006   ....               LDR         R5,??DataTable0    ;; _Stdout
   \   00000008   ....               LDR         R6,??DataTable1    ;; bGet
   \   0000000A   3068               LDR         R0,[R6, #+0]
   \   0000000C   0028               CMP         R0,#+0
   \   0000000E   1FD0               BEQ         ??menu_0
     59            {
     60              TRACE_INFO( "\n\r-BFSA-\n\r");
   \   00000010   8949               LDR         R1,??menu_1        ;; `?<Constant "wodemima">` + 32
   \   00000012   281C               MOV         R0,R5
   \   00000014   ........           _BLF        fprintf,??fprintf??rT
     61              TRACE_INFO( "2 mkdir\n\r");
   \   00000018   8849               LDR         R1,??menu_1+0x4    ;; `?<Constant "wodemima">` + 44
   \   0000001A   281C               MOV         R0,R5
   \   0000001C   ........           _BLF        fprintf,??fprintf??rT
     62              TRACE_INFO( "3 mk file\n\r");
   \   00000020   8749               LDR         R1,??menu_1+0x8    ;; `?<Constant "wodemima">` + 56
   \   00000022   281C               MOV         R0,R5
   \   00000024   ........           _BLF        fprintf,??fprintf??rT
     63              TRACE_INFO( "4 dir\n\r");
   \   00000028   8649               LDR         R1,??menu_1+0xC    ;; `?<Constant "wodemima">` + 68
   \   0000002A   281C               MOV         R0,R5
   \   0000002C   ........           _BLF        fprintf,??fprintf??rT
     64              TRACE_INFO( "5 cd\n\r");
   \   00000030   8549               LDR         R1,??menu_1+0x10   ;; `?<Constant "wodemima">` + 76
   \   00000032   281C               MOV         R0,R5
   \   00000034   ........           _BLF        fprintf,??fprintf??rT
     65              TRACE_INFO( "6 delete\n\r");
   \   00000038   8449               LDR         R1,??menu_1+0x14   ;; `?<Constant "wodemima">` + 84
   \   0000003A   281C               MOV         R0,R5
   \   0000003C   ........           _BLF        fprintf,??fprintf??rT
     66              TRACE_INFO( "7 Init\n\r");
   \   00000040   8349               LDR         R1,??menu_1+0x18   ;; `?<Constant "wodemima">` + 96
   \   00000042   281C               MOV         R0,R5
   \   00000044   ........           _BLF        fprintf,??fprintf??rT
     67              TRACE_INFO( "F Format\n\r");
   \   00000048   8249               LDR         R1,??menu_1+0x1C   ;; `?<Constant "wodemima">` + 108
   \   0000004A   281C               MOV         R0,R5
   \   0000004C   ........           _BLF        fprintf,??fprintf??rT
     68            }
     69          
     70            if (bGet=AT91F_US_Get(&val))
   \                     ??menu_0:
   \   00000050   05A8               ADD         R0,SP,#+20
   \   00000052   ........           _BLF        AT91F_US_Get,??AT91F_US_Get??rT
   \   00000056   3060               STR         R0,[R6, #+0]
   \   00000058   0028               CMP         R0,#+0
   \   0000005A   36D0               BEQ         ??menu_2
     71            {
     72              TRACE_INFO( "\n\r");
   \   0000005C   7EA6               ADR         R6,??menu_1+0x20   ;; "\n\r"
   \   0000005E   311C               MOV         R1,R6
   \   00000060   281C               MOV         R0,R5
   \   00000062   ........           _BLF        fprintf,??fprintf??rT
     73          
     74              switch( val )
   \   00000066   7D4F               LDR         R7,??menu_1+0x24   ;; `?<Constant "wodemima">` + 136
   \   00000068   7D48               LDR         R0,??menu_1+0x28   ;; `?<Constant "wodemima">` + 152
   \   0000006A   0090               STR         R0,[SP, #+0]
   \   0000006C   6846               MOV         R0,SP
   \   0000006E   007D               LDRB        R0,[R0, #+20]
   \   00000070   3228               CMP         R0,#+50
   \   00000072   11D0               BEQ         ??menu_3
   \   00000074   3328               CMP         R0,#+51
   \   00000076   29D0               BEQ         ??menu_4
   \   00000078   3428               CMP         R0,#+52
   \   0000007A   ....               BNE         .+5
   \   0000007C   87E0               B           ??menu_5
   \   0000007E   3528               CMP         R0,#+53
   \   00000080   ....               BNE         .+5
   \   00000082   8DE0               B           ??menu_6
   \   00000084   3628               CMP         R0,#+54
   \   00000086   ....               BNE         .+5
   \   00000088   A3E0               B           ??menu_7
   \   0000008A   3728               CMP         R0,#+55
   \   0000008C   ....               BNE         .+5
   \   0000008E   B7E0               B           ??menu_8
   \   00000090   4628               CMP         R0,#+70
   \   00000092   ....               BNE         .+5
   \   00000094   B9E0               B           ??menu_9
   \                     ??menu_10:
   \   00000096   C5E0               B           ??menu_11
     75              {
     76          
     77                case '2': // mkdir
     78                {
     79                  char dirName[10]="wodemima";
   \                     ??menu_3:
   \   00000098   02A8               ADD         R0,SP,#+8
   \   0000009A   7249               LDR         R1,??menu_1+0x2C   ;; `?<Constant "wodemima">`
   \   0000009C   0A68               LDR         R2,[R1, #0]
   \   0000009E   0260               STR         R2,[R0, #0]
   \   000000A0   4A68               LDR         R2,[R1, #+4]
   \   000000A2   4260               STR         R2,[R0, #+4]
   \   000000A4   8A68               LDR         R2,[R1, #+8]
   \   000000A6   8260               STR         R2,[R0, #+8]
     80          
     81                  TRACE_INFO( "mkdir <Name>\n\r");
   \   000000A8   6F49               LDR         R1,??menu_1+0x30   ;; `?<Constant "wodemima">` + 120
   \   000000AA   281C               MOV         R0,R5
   \   000000AC   ........           _BLF        fprintf,??fprintf??rT
     82                  TRACE_INFO( "Enter name: ");
   \   000000B0   391C               MOV         R1,R7
   \   000000B2   281C               MOV         R0,R5
   \   000000B4   ........           _BLF        fprintf,??fprintf??rT
     83                  //AT91F_DBGU_scanf(dirName);
     84                  //TRACE_INFO( "\n\r");
     85          
     86                  status = BFSA_mkdir(dirName);
   \   000000B8   02A8               ADD         R0,SP,#+8
   \   000000BA   ........           _BLF        BFSA_mkdir,??BFSA_mkdir??rT
   \   000000BE   041C               MOV         R4,R0
     87                  if( BFSA_SUCCESS != status )
   \   000000C0   E9D1               BNE         ??menu_10
     88                  {
     89                    goto FAILURE;
     90                  }
     91                  TRACE_INFO( "OK\n\r");
   \                     ??menu_12:
   \   000000C2   0099               LDR         R1,[SP, #+0]
   \   000000C4   281C               MOV         R0,R5
   \   000000C6   ........           _BLF        fprintf,??fprintf??rT
   \                     ??menu_2:
   \   000000CA   B2E0               B           ??menu_13
     92                }
     93                break;
     94          
     95          
     96                case '3': // mk file
     97                {
     98                  unsigned int ulSize = 0;
   \                     ??menu_4:
   \   000000CC   0027               MOV         R7,#+0
     99                  int count;
    100                  char fileName[10]="";
   \   000000CE   02A8               ADD         R0,SP,#+8
   \   000000D0   0460               STR         R4,[R0, #0]
   \   000000D2   4460               STR         R4,[R0, #+4]
   \   000000D4   8460               STR         R4,[R0, #+8]
    101                  char FileBuff[256];
    102                  char Size[10]="";
   \   000000D6   06A8               ADD         R0,SP,#+24

⌨️ 快捷键说明

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