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

📄 start.lst

📁 Cortex-M4+example
💻 LST
📖 第 1 页 / 共 2 页
字号:
     74              
     75              /* Copy initialized data from ROM to RAM */
     76              n = data_rom_end - data_rom;
   \   0000002E   801A               SUBS     R0,R0,R2
   \   00000030   03E0               B.N      ??common_startup_3
     77              while (n--)
     78                *data_ram++ = *data_rom++;
   \                     ??common_startup_4:
   \   00000032   1378               LDRB     R3,[R2, #+0]
   \   00000034   0B70               STRB     R3,[R1, #+0]
   \   00000036   521C               ADDS     R2,R2,#+1
   \   00000038   491C               ADDS     R1,R1,#+1
   \                     ??common_startup_3:
   \   0000003A   0300               MOVS     R3,R0
   \   0000003C   581E               SUBS     R0,R3,#+1
   \   0000003E   002B               CMP      R3,#+0
   \   00000040   F7D1               BNE.N    ??common_startup_4
     79           
     80           
     81              /* Get the addresses for the .bss section (zero-initialized data) */
     82              uint8* bss_start = __section_begin(".bss");
   \   00000042   ....               LDR.N    R1,??DataTable0_5
     83              uint8* bss_end = __section_end(".bss");
   \   00000044   ....               LDR.N    R0,??DataTable0_6
     84              
     85              /* Clear the zero-initialized data section */
     86              n = bss_end - bss_start;
   \   00000046   401A               SUBS     R0,R0,R1
   \   00000048   02E0               B.N      ??common_startup_5
     87              while(n--)
     88                *bss_start++ = 0;    
   \                     ??common_startup_6:
   \   0000004A   0022               MOVS     R2,#+0
   \   0000004C   0A70               STRB     R2,[R1, #+0]
   \   0000004E   491C               ADDS     R1,R1,#+1
   \                     ??common_startup_5:
   \   00000050   0200               MOVS     R2,R0
   \   00000052   501E               SUBS     R0,R2,#+1
   \   00000054   002A               CMP      R2,#+0
   \   00000056   F8D1               BNE.N    ??common_startup_6
     89              
     90              /* Get addresses for any code sections that need to be copied from ROM to RAM.
     91               * The IAR tools have a predefined keyword that can be used to mark individual
     92               * functions for execution from RAM. Add "__ramfunc" before the return type in
     93               * the function prototype for any routines you need to execute from RAM instead 
     94               * of ROM. ex: __ramfunc void foo(void);
     95               */
     96              uint8* code_relocate_ram = __section_begin("CodeRelocateRam");
   \   00000058   ....               LDR.N    R1,??DataTable0_7
     97              uint8* code_relocate = __section_begin("CodeRelocate");
   \   0000005A   ....               LDR.N    R2,??DataTable0_8
     98              uint8* code_relocate_end = __section_end("CodeRelocate");
   \   0000005C   ....               LDR.N    R0,??DataTable0_9
     99              
    100              /* Copy functions from ROM to RAM */
    101              n = code_relocate_end - code_relocate;
   \   0000005E   801A               SUBS     R0,R0,R2
   \   00000060   03E0               B.N      ??common_startup_7
    102              while (n--)
    103                *code_relocate_ram++ = *code_relocate++;
   \                     ??common_startup_8:
   \   00000062   1378               LDRB     R3,[R2, #+0]
   \   00000064   0B70               STRB     R3,[R1, #+0]
   \   00000066   521C               ADDS     R2,R2,#+1
   \   00000068   491C               ADDS     R1,R1,#+1
   \                     ??common_startup_7:
   \   0000006A   0300               MOVS     R3,R0
   \   0000006C   581E               SUBS     R0,R3,#+1
   \   0000006E   002B               CMP      R3,#+0
   \   00000070   F7D1               BNE.N    ??common_startup_8
    104          }
   \   00000072   01BD               POP      {R0,PC}          ;; return

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0:
   \   00000000   ........           DC32     __VECTOR_RAM

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_1:
   \   00000000   ........           DC32     __VECTOR_TABLE

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_2:
   \   00000000   ........           DC32     SFB(`.data`)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_3:
   \   00000000   ........           DC32     SFB(`.data_init`)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_4:
   \   00000000   ........           DC32     SFE(`.data_init`)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_5:
   \   00000000   ........           DC32     SFB(`.bss`)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_6:
   \   00000000   ........           DC32     SFE(`.bss`)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_7:
   \   00000000   ........           DC32     SFB(CodeRelocateRam)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_8:
   \   00000000   ........           DC32     SFB(CodeRelocate)

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable0_9:
   \   00000000   ........           DC32     SFE(CodeRelocate)

   Maximum stack usage in bytes:

     Function       .cstack
     --------       -------
     common_startup      8
     start               8


   Section sizes:

     Function/Label Bytes
     -------------- -----
     start            20
     common_startup  116
     ??DataTable0      4
     ??DataTable0_1    4
     ??DataTable0_2    4
     ??DataTable0_3    4
     ??DataTable0_4    4
     ??DataTable0_5    4
     ??DataTable0_6    4
     ??DataTable0_7    4
     ??DataTable0_8    4
     ??DataTable0_9    4

 
 176 bytes in section .text
 
 176 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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