From 0efe43d43eac9ab9f90852872fb80cc9f64f3cd8 Mon Sep 17 00:00:00 2001 From: ALTracer <11005378+ALTracer@users.noreply.github.com> Date: Tue, 15 Jul 2025 23:42:15 +0300 Subject: [PATCH] cm3: itm: Enable for ARMv8-M Main (Cortex-M33) --- include/libopencm3/cm3/itm.h | 4 ++-- include/libopencm3/cm3/memorymap.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/libopencm3/cm3/itm.h b/include/libopencm3/cm3/itm.h index dc711a0e..bb7a5f17 100644 --- a/include/libopencm3/cm3/itm.h +++ b/include/libopencm3/cm3/itm.h @@ -27,8 +27,8 @@ */ /* Those defined only on ARMv7 and above */ -#if !defined(__ARM_ARCH_7M__) && !defined(__ARM_ARCH_7EM__) -#error "Instrumentation Trace Macrocell not available in CM0" +#if !defined(__ARM_ARCH_7M__) && !defined(__ARM_ARCH_7EM__) && !defined(__ARM_ARCH_8M_MAIN__) +#error "Instrumentation Trace Macrocell not available in CM0 or CM23" #endif /* --- ITM registers ------------------------------------------------------- */ diff --git a/include/libopencm3/cm3/memorymap.h b/include/libopencm3/cm3/memorymap.h index 954328ab..909136e2 100644 --- a/include/libopencm3/cm3/memorymap.h +++ b/include/libopencm3/cm3/memorymap.h @@ -26,7 +26,7 @@ #define PPBI_BASE (0xE0000000U) /* Those defined only on ARMv7 and above */ -#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) +#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__) /* ITM: Instrumentation Trace Macrocell */ #define ITM_BASE (PPBI_BASE + 0x0000)