📄 start.lst
字号:
76 n = data_rom_end - data_rom;
\ 0000002E 0x1A80 SUBS R0,R0,R2
\ 00000030 0xE003 B.N ??common_startup_3
77 while (n--)
78 *data_ram++ = *data_rom++;
\ ??common_startup_4:
\ 00000032 0x7813 LDRB R3,[R2, #+0]
\ 00000034 0x700B STRB R3,[R1, #+0]
\ 00000036 0x1C52 ADDS R2,R2,#+1
\ 00000038 0x1C49 ADDS R1,R1,#+1
\ ??common_startup_3:
\ 0000003A 0x0003 MOVS R3,R0
\ 0000003C 0x1E58 SUBS R0,R3,#+1
\ 0000003E 0x2B00 CMP R3,#+0
\ 00000040 0xD1F7 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 0x.... LDR.N R1,??DataTable0_5
83 uint8* bss_end = __section_end(".bss");
\ 00000044 0x.... LDR.N R0,??DataTable0_6
84
85 /* Clear the zero-initialized data section */
86 n = bss_end - bss_start;
\ 00000046 0x1A40 SUBS R0,R0,R1
\ 00000048 0xE002 B.N ??common_startup_5
87 while(n--)
88 *bss_start++ = 0;
\ ??common_startup_6:
\ 0000004A 0x2200 MOVS R2,#+0
\ 0000004C 0x700A STRB R2,[R1, #+0]
\ 0000004E 0x1C49 ADDS R1,R1,#+1
\ ??common_startup_5:
\ 00000050 0x0002 MOVS R2,R0
\ 00000052 0x1E50 SUBS R0,R2,#+1
\ 00000054 0x2A00 CMP R2,#+0
\ 00000056 0xD1F8 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 0x.... LDR.N R1,??DataTable0_7
97 uint8* code_relocate = __section_begin("CodeRelocate");
\ 0000005A 0x.... LDR.N R2,??DataTable0_8
98 uint8* code_relocate_end = __section_end("CodeRelocate");
\ 0000005C 0x.... LDR.N R0,??DataTable0_9
99
100 /* Copy functions from ROM to RAM */
101 n = code_relocate_end - code_relocate;
\ 0000005E 0x1A80 SUBS R0,R0,R2
\ 00000060 0xE003 B.N ??common_startup_7
102 while (n--)
103 *code_relocate_ram++ = *code_relocate++;
\ ??common_startup_8:
\ 00000062 0x7813 LDRB R3,[R2, #+0]
\ 00000064 0x700B STRB R3,[R1, #+0]
\ 00000066 0x1C52 ADDS R2,R2,#+1
\ 00000068 0x1C49 ADDS R1,R1,#+1
\ ??common_startup_7:
\ 0000006A 0x0003 MOVS R3,R0
\ 0000006C 0x1E58 SUBS R0,R3,#+1
\ 0000006E 0x2B00 CMP R3,#+0
\ 00000070 0xD1F7 BNE.N ??common_startup_8
104 }
\ 00000072 0xBD01 POP {R0,PC} ;; return
\ In section .text, align 4, keep-with-next
\ ??DataTable0:
\ 00000000 0x........ DC32 __VECTOR_RAM
\ In section .text, align 4, keep-with-next
\ ??DataTable0_1:
\ 00000000 0x........ DC32 __VECTOR_TABLE
\ In section .text, align 4, keep-with-next
\ ??DataTable0_2:
\ 00000000 0x........ DC32 SFB(`.data`)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_3:
\ 00000000 0x........ DC32 SFB(`.data_init`)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_4:
\ 00000000 0x........ DC32 SFE(`.data_init`)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_5:
\ 00000000 0x........ DC32 SFB(`.bss`)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_6:
\ 00000000 0x........ DC32 SFE(`.bss`)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_7:
\ 00000000 0x........ DC32 SFB(CodeRelocateRam)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_8:
\ 00000000 0x........ DC32 SFB(CodeRelocate)
\ In section .text, align 4, keep-with-next
\ ??DataTable0_9:
\ 00000000 0x........ DC32 SFE(CodeRelocate)
Maximum stack usage in bytes:
.cstack Function
------- --------
8 common_startup
8 -> write_vtor
8 start
8 -> common_startup
8 -> main
8 -> sysinit
8 -> wdog_disable
Section sizes:
Bytes Function/Label
----- --------------
4 ??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
116 common_startup
20 start
176 bytes in section .text
176 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -