X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Fstartup.s;fp=betty%2Fstartup.s;h=dc43ab6513ed417f0a404555e24ea50c1031b720;hp=d6b0184641a3d02d4af553c485ad929a4f80e42e;hb=c0321fdefb210dfc4cf43959e76c3c7c49f9e490;hpb=74be977af05343de9ebaf9f6358bf57e499a8044 diff --git a/betty/startup.s b/betty/startup.s index d6b0184..dc43ab6 100644 --- a/betty/startup.s +++ b/betty/startup.s @@ -102,12 +102,15 @@ handle_reset: ldr r0, =stack_limit mov sl, r0 - # copy data section + # copy data section (only if we are in flash <=> _etext = _data) ldr r1, =_etext ldr r2, =_data ldr r3, =_edata + cmp r1, r2 + beq start_of_c_code + copy_data_loop: cmp r2, r3 @@ -117,6 +120,8 @@ copy_data_loop: # jump to c code +start_of_c_code: + adr lr, loop_forever mov r0, #0 mov r1, #0