From f9ecaa132f44ca25e863bd76a0f9733fd7988503 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
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 4360a6af9..5316a7efb 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();
     }
-- 
GitLab