From f9ecaa132f44ca25e863bd76a0f9733fd7988503 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 23 Aug 2017 11:32:27 +1000 Subject: [PATCH] py/asmthumb: Use existing macro to properly clear the D-cache. This macro is provided by stmhal/mphalport.h and makes sure the addr and size arguments are correctly aligned. --- py/asmthumb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/py/asmthumb.c b/py/asmthumb.c index 4360a6af9b..5316a7efb2 100644 --- a/py/asmthumb.c +++ b/py/asmthumb.c @@ -33,6 +33,7 @@ // wrapper around everything in this file #if MICROPY_EMIT_THUMB || MICROPY_EMIT_INLINE_THUMB +#include "py/mphal.h" #include "py/asmthumb.h" #define UNSIGNED_FIT8(x) (((x) & 0xffffff00) == 0) @@ -53,7 +54,7 @@ void asm_thumb_end_pass(asm_thumb_t *as) { #if defined(MCU_SERIES_F7) if (as->base.pass == MP_ASM_PASS_EMIT) { // flush D-cache, so the code emitted is stored in memory - SCB_CleanDCache_by_Addr((uint32_t*)as->base.code_base, as->base.code_size); + MP_HAL_CLEAN_DCACHE(as->base.code_base, as->base.code_size); // invalidate I-cache SCB_InvalidateICache(); }