summaryrefslogtreecommitdiff
path: root/libcpu/arm/cortex-m4/SConscript
diff options
context:
space:
mode:
Diffstat (limited to 'libcpu/arm/cortex-m4/SConscript')
-rw-r--r--libcpu/arm/cortex-m4/SConscript13
1 files changed, 13 insertions, 0 deletions
diff --git a/libcpu/arm/cortex-m4/SConscript b/libcpu/arm/cortex-m4/SConscript
index 3ecbea8de3..2ac22c8e4d 100644
--- a/libcpu/arm/cortex-m4/SConscript
+++ b/libcpu/arm/cortex-m4/SConscript
@@ -21,6 +21,19 @@ if rtconfig.PLATFORM in ['gcc', 'llvm-arm']:
if rtconfig.PLATFORM in ['iccarm']:
src += Glob('*_iar.S')
+using_mpu = (
+ GetDepend('RT_USING_MEM_PROTECTION') or
+ GetDepend('RT_USING_HW_STACK_GUARD')
+)
+
+if using_mpu:
+ if rtconfig.PLATFORM not in ['gcc', 'llvm-arm']:
+ raise RuntimeError(
+ 'Cortex-M4 memory protection currently supports GCC only'
+ )
+else:
+ SrcRemove(src, 'mpu.c')
+
group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH)
Return('group')