From fe1d75efc5b2f6b7f542ceedff3d5fa89ffc7e6b Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Thu, 9 May 2019 15:08:11 +0100 Subject: [PATCH] Two small tweaks to crt0.s * The use of r3 in the block which copies the .data section into IWRAM is unnecessary. * The return label in the IRQ handler doesn't need to be global. --- crt0.s | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crt0.s b/crt0.s index 53437f1..8204942 100644 --- a/crt0.s +++ b/crt0.s @@ -24,8 +24,8 @@ __start: @ copy .data section to IWRAM ldr r0, =__data_lma @ source address ldr r1, =__data_start @ destination address - ldr r3, =__data_end - sub r2, r3, r1 + ldr r2, =__data_end + sub r2, r2, r1 beq .Lskip @ don't try to copy an empty .data section add r2, #3 mov r2, r2, asr #2 @ length (in words) @@ -69,9 +69,9 @@ MainIrqHandler: ldr r2, =__IRQ_HANDLER ldr r1, [r2] stmdb sp!, {lr} - adr lr, MainIrqHandler_Return + adr lr, .Lreturn bx r1 -MainIrqHandler_Return: +.Lreturn: ldmia sp!, {lr} @ Switch to IRQ mode