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

📄 main.lst

📁 Philips LPC2138 Demo Application with Keil C
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.42,  main                                                                  27/03/06  10:45:47  PAGE 1   


ARM COMPILER V2.42, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe src\main.c THUMB DEBUG PRINT(.\LST\MAIN.LST) TABS(4) OBJECT(.\obj\main.obj) 

stmt  level    source

    1          /******************************************************************************
    2           
    3           efsl Demo-Application for Philips LPC2138 ARM7TDMI-S
    4           
    5           Copyright (c) 2005
    6           Martin Thomas, Kaiserslautern, Germany <mthomas@rhrk.uni-kl.de>
    7           Ported by M.ceyhan mail:mukadder_c@yahoo.com
    8           
    9           *****************************************************************************/
   10          
   11          #include <string.h>
   12          
   13          #include "main.h"
   14          
   15          #include "LPC213x.h"
   16          #include "lpc_config.h"
   17          
   18          #include "efs.h"
   19          #include "ls.h"
   20          #include "mkfs.h"
   21          #include "lpc2000_dbg_printf.h"
   22          
   23          #define rprintf lpc2000_debug_printf
   24          
   25          #define BAUD 115200
   26          
   27          //#define BIT(x) ((unsigned long)1<<x)
   28          
   29          // 1st LED on Keil MCB2130
   30          #define LED1PIN     16
   31          #define LED1BIT     BIT(LED1PIN)
   32          #define LEDDIR      IODIR1
   33          #define LEDSET      IOSET1
   34          #define LEDCLR      IOCLR1
   35          
   36          static char LogFileName[] = "logdatA.txt";
   37          
   38          
   39          EmbeddedFileSystem efs;
   40          EmbeddedFile filer, filew;
   41          DirList list;
   42          unsigned short e;
   43          unsigned char buf[513];
   44          
   45          
   46          int main(void)
   47          {
   48   1          unsigned char res;
   49   1          
   50   1          if ( ( res = efs_init( &efs, 0 ) ) != 0 ) 
   51   1          {
   52   2              rprintf("failed with %i\n",res);
   53   2          }
   54   1          else
   55   1          {
   56   2              ls_openDir( &list, &(efs.myFs) , "/");
   57   2              while ( ls_getNext( &list ) == 0 ) 
   58   2              {
   59   3                  list.currentEntry.FileName[LIST_MAXLENFILENAME-1] = '\0';
ARM COMPILER V2.42,  main                                                                  27/03/06  10:45:47  PAGE 2   

   60   3                  rprintf( "%s ( %li bytes )\n" ,
   61   3                      list.currentEntry.FileName,
   62   3                      list.currentEntry.FileSize ) ;
   63   3              }
   64   2              if ( file_fopen( &filer, &efs.myFs , LogFileName , 'r' ) == 0 ) 
   65   2              {
   66   3                  rprintf("File %s open. Content:\n", LogFileName);
   67   3                  while ( ( e = file_read( &filer, 512, buf ) ) != 0 ) {
   68   4                      buf[e]='\0';
   69   4                      //uart1Puts((char*)buf);
   70   4                  }
   71   3                  rprintf("\n");
   72   3                  file_fclose( &filer );
   73   3              }
   74   2              if ( file_fopen( &filew, &efs.myFs , LogFileName , 'a' ) == 0 ) {
   75   3                  rprintf("File %s open for append. Appending...", LogFileName);
   76   3                  strcpy((char*)buf, "Martin hat's angehaengt\r\n");
   77   3                  if ( file_write( &filew, strlen((char*)buf), buf ) == strlen((char*)buf) ) {
   78   4                      rprintf("ok\n");
   79   4                  }
   80   3                  else {
   81   4                      rprintf("fail\n");
   82   4                  }
   83   3                  file_fclose( &filew );
   84   3              }
   85   2              if ( file_fopen( &filer, &efs.myFs , LogFileName , 'r' ) == 0 ) {
   86   3                  rprintf("File %s open. Content:\n", LogFileName);
   87   3                  while ( ( e = file_read( &filer, 512, buf ) ) != 0 ) {
   88   4                      buf[e]='\0';
   89   4                      //uart1Puts((char*)buf);
   90   4                  }
   91   3                  rprintf("\n");
   92   3                  file_fclose( &filer );
   93   3              }
   94   2              fs_umount( &efs.myFs ) ;
   95   2          }
   96   1          
   97   1          while(1);
   98   1      }
   99          
  100          ////////////////////////////////////////////////////////////////////////
  101          
ARM COMPILER V2.42,  main                                                                  27/03/06  10:45:47  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (strcpy?T)
 EXTERN CODE16 (strlen?T)
 EXTERN CODE16 (lpc2000_debug_printf?T)
 EXTERN CODE16 (fs_umount?T)
 EXTERN CODE16 (file_fopen?T)
 EXTERN CODE16 (file_fclose?T)
 EXTERN CODE16 (file_read?T)
 EXTERN CODE16 (file_write?T)
 EXTERN CODE16 (efs_init?T)
 EXTERN CODE16 (ls_openDir?T)
 EXTERN CODE16 (ls_getNext?T)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main
 PUBLIC         efs
 PUBLIC         filer
 PUBLIC         filew
 PUBLIC         list
 PUBLIC         e
 PUBLIC         buf



*** DATA SEGMENT '?CON?main':
 00000000          ??S_10:
 00000000            DB          'fail',0x0A,0x00
 00000006          ??S_9:
 00000006            DB          'ok',0x0A,0x00
 0000000A          ??S_8:
 0000000A            DB          'Martin hat's angehaengt',0x0D,0x0A,0x00
 00000024          ??S_7:
 00000024            DB          'File %s open for append. Appending...',0x00
 0000004A          ??S_6:
 0000004A            DB          0x0A,0x00
 0000004C          ??S_5:
 0000004C            DB          'File %s open. Content:',0x0A,0x00
 00000064          ??S_4:
 00000064            DB          '%s ( %li bytes )',0x0A,0x00
 00000076          ??S_3:
 00000076            DB          '/',0x00
 00000078          ??S_2:
 00000078            DB          'failed with %i',0x0A,0x00

*** DATA SEGMENT '?DT0?main':
 00000000          efs:
 00000000            DS          3428
 00000D64          filer:
 00000D64            DS          80
 00000DB4          filew:
 00000DB4            DS          80
 00000E04          list:
 00000E04            DS          52
 00000E38          e:
 00000E38            DS          2
 00000E3A          LogFileName:
 00000E3A           BEGIN_INIT
 00000E3A            DB          'logdatA.txt',0x00
 00000E46           END_INIT
 00000E46          buf:
 00000E46            DS          513



*** CODE SEGMENT '?PR?main?main':
   46: int main(void)
 00000000  B500      PUSH        {LR}
ARM COMPILER V2.42,  main                                                                  27/03/06  10:45:47  PAGE 4   

   47: {
 00000002            ; SCOPE-START
   50:     if ( ( res = efs_init( &efs, 0 ) ) != 0 ) 
 00000002  4800      LDR         R0,=efs ; efs
 00000004  2100      MOV         R1,#0x0
 00000006  F7FF      BL          efs_init?T  ; T=0x0001  (1)
 00000008  FFFB      BL          efs_init?T  ; T=0x0001  (2)
 0000000A  1C01      MOV         R1,R0 ; res
 0000000C  ---- Variable 'res' assigned to Register 'R1' ----
 0000000C  0600      LSL         R0,R0,#0x18 ; efs_init?T
 0000000E  0E00      LSR         R0,R0,#0x18
 00000010  2800      CMP         R0,#0x0
 00000012  D006      BEQ         L_1  ; T=0x00000022
   52:         rprintf("failed with %i\n",res);
 00000014  1C08      MOV         R0,R1 ; res
 00000016  0601      LSL         R1,R0,#0x18 ; res
 00000018  0E09      LSR         R1,R1,#0x18
 0000001A  4800      LDR         R0,=??S_2 ; ??S_2
 0000001C  F7FF      BL          lpc2000_debug_printf?T  ; T=0x0001  (1)
 0000001E  FFF0      BL          lpc2000_debug_printf?T  ; T=0x0001  (2)
   53:     }
 00000020  E093      B           L_23  ; T=0x0000014A
 00000022          L_1:
   56:         ls_openDir( &list, &(efs.myFs) , "/");
 00000022  4800      LDR         R0,=list ; list
 00000024  4800      LDR         R1,=efs + 0xD24 ; efs+3364

⌨️ 快捷键说明

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