From 8f348778e12d3c8a55c6fe4c4475bb9ab07aa978 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 15 May 2020 00:44:25 +1000 Subject: [PATCH] nrf/mphalport: Remove need for "syntax unified" in mp_hal_delay_us. Because it can confuse older versions of gcc. Instead use the correct instruction for Thumb vs Thumb-2 (sub vs subs) so the assembler emits the 2-byte instruction. Related to commit 1aa9ff914194824a78a8b010572ad7083c1bb4ec. --- ports/nrf/mphalport.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ports/nrf/mphalport.c b/ports/nrf/mphalport.c index bdedea9d01..4469adc80d 100644 --- a/ports/nrf/mphalport.c +++ b/ports/nrf/mphalport.c @@ -99,11 +99,12 @@ void mp_hal_delay_us(mp_uint_t us) { } register uint32_t delay __ASM("r0") = us; __ASM volatile ( - #ifdef NRF51 - ".syntax unified\n" - #endif "1:\n" + #ifdef NRF51 + " SUB %0, %0, #1\n" + #else " SUBS %0, %0, #1\n" + #endif " NOP\n" " NOP\n" " NOP\n"