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

📄 api_segment_init.lst

📁 IAPBootLoader源程序是单片机ARM的在系统编程方法1
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.40A/W32               28/Nov/2006  11:57:53 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  arm                                                  #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  D:\lilian\STR71X\application note\IAP using          #
#                       UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\api_segm #
#                       ent_init.c                                           #
#    Command line    =  "D:\lilian\STR71X\application note\IAP using         #
#                       UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\api_segm #
#                       ent_init.c" -lC "D:\lilian\STR71X\application        #
#                       note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V2. #
#                       0\user\Debug\List\" -lA "D:\lilian\STR71X\applicatio #
#                       n note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V #
#                       2.0\user\Debug\List\" -o "D:\lilian\STR71X\applicati #
#                       on note\IAP using UART\an2078_IAR(forum)\an2078\IAP_ #
#                       V2.0\user\Debug\Obj\" -z2 --no_cse --no_unroll       #
#                       --no_inline --no_code_motion --no_tbaa               #
#                       --no_clustering --no_scheduling --debug --cpu_mode   #
#                       arm --endian little --cpu ARM7TDMI --stack_align 4   #
#                       -e --fpu None --dlib_config "C:\Program Files\IAR    #
#                       Systems\Embedded Workbench                           #
#                       4.0\arm\LIB\dl4tpannl8n.h" -I                        #
#                       "D:\lilian\STR71X\application note\IAP using         #
#                       UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\..\inclu #
#                       de\" -I "D:\lilian\STR71X\application note\IAP       #
#                       using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\.. #
#                       \common\" -I ROJ_DIR$\ -I "C:\Program Files\IAR      #
#                       Systems\Embedded Workbench 4.0\arm\INC\"             #
#    List file       =  D:\lilian\STR71X\application note\IAP using          #
#                       UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Li #
#                       st\api_segment_init.lst                              #
#    Object file     =  D:\lilian\STR71X\application note\IAP using          #
#                       UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Ob #
#                       j\api_segment_init.r79                               #
#                                                                            #
#                                                                            #
##############################################################################

D:\lilian\STR71X\application note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\api_segment_init.c
      1          #include <string.h>
      2          #include "segment_init.h"
      3          
      4          #pragma language=extended
      5          #pragma segment="INITTAB"
      6          

   \                                 In segment CODE, align 4, keep-with-next
      7          void init_ram_code()
      8          {
   \                     init_ram_code:
   \   00000000   70402DE9           PUSH     {R4-R6,LR}
      9            InitBlock_Type const * const initTableBegin = __sfb( "INITTAB" );
   \   00000004   54009FE5           LDR      R0,??init_ram_code_0  ;; SFB(INITTAB)
   \   00000008   0040B0E1           MOVS     R4,R0
     10            InitBlock_Type const * const initTableEnd = __sfe( "INITTAB" );
   \   0000000C   50009FE5           LDR      R0,??init_ram_code_0+0x4  ;; SFE(INITTAB)
   \   00000010   0050B0E1           MOVS     R5,R0
     11            InitBlock_Type const * initTableP;
     12          
     13            for (initTableP=initTableBegin; (int)initTableP<(int)initTableEnd; initTableP++)
   \   00000014   0460B0E1           MOVS     R6,R4
   \                     ??init_ram_code_1:
   \   00000018   050056E1           CMP      R6,R5
   \   0000001C   0E0000AA           BGE      ??init_ram_code_2
     14            {
     15              if (initTableP->Src == initTableP->Dst)
   \   00000020   080096E5           LDR      R0,[R6, #+8]
   \   00000024   041096E5           LDR      R1,[R6, #+4]
   \   00000028   010050E1           CMP      R0,R1
   \   0000002C   0400001A           BNE      ??init_ram_code_3
     16              {
     17                memset(initTableP->Dst, 0, initTableP->Size);
   \   00000030   002096E5           LDR      R2,[R6, #+0]
   \   00000034   0010A0E3           MOV      R1,#+0
   \   00000038   040096E5           LDR      R0,[R6, #+4]
   \   0000003C   ........           _BLF     memset,??memset??rA
   \   00000040   030000EA           B        ??init_ram_code_4
     18              }
     19              else
     20              {
     21                memcpy(initTableP->Dst, initTableP->Src, initTableP->Size);
   \                     ??init_ram_code_3:
   \   00000044   002096E5           LDR      R2,[R6, #+0]
   \   00000048   081096E5           LDR      R1,[R6, #+8]
   \   0000004C   040096E5           LDR      R0,[R6, #+4]
   \   00000050   ........           _BLF     memcpy,??memcpy??rA
     22              }
     23            }
   \                     ??init_ram_code_4:
   \   00000054   0C6096E2           ADDS     R6,R6,#+12
   \   00000058   EEFFFFEA           B        ??init_ram_code_1
     24          }
   \                     ??init_ram_code_2:
   \   0000005C   7080BDE8           POP      {R4-R6,PC}       ;; return
   \                     ??init_ram_code_0:
   \   00000060   ........           DC32     SFB(INITTAB)
   \   00000064   ........           DC32     SFE(INITTAB)

   \                                 In segment INITTAB, align 1
     25          
     26          #pragma language=default

   Maximum stack usage in bytes:

     Function      CSTACK
     --------      ------
     init_ram_code    16


   Segment part sizes:

     Function/Label Bytes
     -------------- -----
     init_ram_code   104
      Others          24

 
 128 bytes in segment CODE
 
 104 bytes of CODE memory (+ 24 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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