diff --git a/src/start.S b/src/start.S index 14782b964..627657f8c 100644 --- a/src/start.S +++ b/src/start.S @@ -128,6 +128,17 @@ _begin: #endif msr CPSR_c, #(SYS_MODE) + /* Clear BSS */ +clear_bss: + ldr r0, _bss_start /* find start of bss segment */ + ldr r1, _bss_end /* stop here */ + mov r2, #0x00000000 /* clear */ +clbss_l: + str r2, [r0] /* clear loop... */ + add r0, r0, #4 + cmp r0, r1 + blt clbss_l + b main // ldr r1,=_system_stack