改S文件

This commit is contained in:
james 2024-08-04 14:44:37 +08:00
parent c7b78edbf8
commit e4ac1a31ca
1 changed files with 47 additions and 20 deletions

View File

@ -62,40 +62,67 @@ Reset_Handler:
ldr sp, =_estack /* set stack pointer */
/* Copy the data segment initializers from flash to SRAM */
ldr r0, =_sdata
ldr r1, =_edata
ldr r2, =_sidata
movs r3, #0
b LoopCopyDataInit
movs r1, #0
b LoopCopyDataInit
CopyDataInit:
ldr r3, =_sidata
ldr r3, [r3, r1]
str r3, [r0, r1]
adds r1, r1, #4
LoopCopyDataInit:
ldr r0, =_sdata
ldr r3, =_edata
adds r2, r0, r1
cmp r2, r3
bcc CopyDataInit
/* Copy from flash to CCMRAM */
ldr r0, =_sccmdata
ldr r1, =_eccmdata
ldr r2, =_siccmdata
movs r3, #0
b LoopCopyCcmInit
CopyCcmInit:
ldr r4, [r2, r3]
str r4, [r0, r3]
adds r3, r3, #4
LoopCopyDataInit:
LoopCopyCcmInit:
adds r4, r0, r3
cmp r4, r1
bcc CopyDataInit
/* Zero fill the bss segment. */
ldr r2, =_sbss
ldr r4, =_ebss
movs r3, #0
b LoopFillZerobss
bcc CopyCcmInit
/* End of copy to CCMRAM */
ldr r2, =_sccm_bss
b LoopFillZeroCcm
/* Zero fill the ccm bss segment. */
FillZeroCcm:
movs r3, #0
str r3, [r2], #4
LoopFillZeroCcm:
ldr r3, = _eccm_bss
cmp r2, r3
bcc FillZeroCcm
/* End of zero fill to CCMRAM */
ldr r2, =_sbss
b LoopFillZerobss
/* Zero fill the bss segment. */
FillZerobss:
str r3, [r2]
adds r2, r2, #4
movs r3, #0
str r3, [r2], #4
LoopFillZerobss:
cmp r2, r4
bcc FillZerobss
ldr r3, = _ebss
cmp r2, r3
bcc FillZerobss
/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* bl __libc_init_array */
/* Call the application's entry point.*/
bl entry
bx lr