diff --git a/portable/GCC/ARM_CM3/port.c b/portable/GCC/ARM_CM3/port.c index b17f1c7..0e49bf4 100644 --- a/portable/GCC/ARM_CM3/port.c +++ b/portable/GCC/ARM_CM3/port.c @@ -247,6 +247,7 @@ static void prvPortStartFirstTask( void ) " isb \n" " svc 0 \n" /* System call to start first task. */ " nop \n" + " .ltorg \n" /* make sure the pool is placed here, so ldr doesn't generate a too long jump */ ); } /*-----------------------------------------------------------*/ diff --git a/portable/GCC/ARM_CM4F/port.c b/portable/GCC/ARM_CM4F/port.c index e18d94e..07b1443 100644 --- a/portable/GCC/ARM_CM4F/port.c +++ b/portable/GCC/ARM_CM4F/port.c @@ -277,6 +277,7 @@ static void prvPortStartFirstTask( void ) " isb \n" " svc 0 \n" /* System call to start first task. */ " nop \n" + " .ltorg \n" /* make sure the pool is placed here, so ldr doesn't generate a too long jump */ ); } /*-----------------------------------------------------------*/ @@ -707,7 +708,8 @@ static void vPortEnableVFP( void ) " \n" " orr r1, r1, #( 0xf << 20 ) \n" /* Enable CP10 and CP11 coprocessors, then save back. */ " str r1, [r0] \n" - " bx r14 " + " bx r14 \n" + " .ltorg \n" /* make sure the pool is placed here, so ldr doesn't generate a too long jump */ ); } /*-----------------------------------------------------------*/ diff --git a/portable/GCC/ARM_CM7/r0p1/port.c b/portable/GCC/ARM_CM7/r0p1/port.c index 5e1f805..094b5c0 100644 --- a/portable/GCC/ARM_CM7/r0p1/port.c +++ b/portable/GCC/ARM_CM7/r0p1/port.c @@ -271,6 +271,7 @@ static void prvPortStartFirstTask( void ) " isb \n" " svc 0 \n" /* System call to start first task. */ " nop \n" + " .ltorg \n" /* make sure the pool is placed here, so ldr doesn't generate a too long jump */ ); } /*-----------------------------------------------------------*/ @@ -697,7 +698,8 @@ static void vPortEnableVFP( void ) " \n" " orr r1, r1, #( 0xf << 20 ) \n" /* Enable CP10 and CP11 coprocessors, then save back. */ " str r1, [r0] \n" - " bx r14 " + " bx r14 \n" + " .ltorg \n" /* make sure the pool is placed here, so ldr doesn't generate a too long jump */ ); } /*-----------------------------------------------------------*/