diff --git a/cmsis.cmake b/cmsis.cmake
index c7922c4..f8a916f 100644
--- a/cmsis.cmake
+++ b/cmsis.cmake
@@ -25,11 +25,11 @@
 string(TOUPPER "ARMCM${CPU_NUMBER}" ARM_CPU)
 
 # Set CPU specific features
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33(\\+|$)")
     set(ARM_FEATURES "_DSP_FP")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES  "cortex-m4")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4(\\+|$)")
     set(ARM_FEATURES "_FP")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES  "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7(\\+|$)")
     set(ARM_FEATURES "_DP")
 else()
     set(ARM_FEATURES "")
diff --git a/rtos/CMakeLists.txt b/rtos/CMakeLists.txt
index 6c91a83..3266c14 100644
--- a/rtos/CMakeLists.txt
+++ b/rtos/CMakeLists.txt
@@ -24,7 +24,7 @@
 
 # Include ThreadX
 # Only enable cortex-m55 until cortex-m33 is sorted out upstream
-if((CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55") AND
+if((CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55(\\+|$)") AND
     (CORE_SOFTWARE_RTOS_LOWER STREQUAL "threadx" OR CORE_SOFTWARE_RTOS_LOWER STREQUAL "all"))
     #threadx build requires 2 defines: THREADX_ARCH (format: cortex_m4) and THREADX_TOOLCHAIN (ac5/ac6/gnu).
     #set them according to existing defines CMAKE_SYSTEM_PROCESSOR and CMAKE_CXX_COMPILER_ID:
diff --git a/rtos/freertos_config/CMakeLists.txt b/rtos/freertos_config/CMakeLists.txt
index 554a492..86958c5 100644
--- a/rtos/freertos_config/CMakeLists.txt
+++ b/rtos/freertos_config/CMakeLists.txt
@@ -16,23 +16,23 @@
 # limitations under the License.
 #
 
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m3")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m3(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M3)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M33)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M4)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M55)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M7)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M85)
 else()
     message(FATAL_ERROR "Unsupported compiler ${CMAKE_SYSTEM_PROCESSOR}.")
 endif()
 
-if((${TARGET} STREQUAL "mps2") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m55"))
+if((${TARGET} STREQUAL "mps2") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m55(\\+|$)"))
     set("SYSTEM_CORE_CLOCK" "25000000")
 else()
     set("SYSTEM_CORE_CLOCK" "32000000")
@@ -66,28 +66,28 @@
 target_sources(freertos_kernel PRIVATE
     ${FREERTOS_KERNEL_PATH}/portable/MemMang/heap_3.c)
 
-if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m3")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m3(\\+|$)")
 target_sources(freertos_kernel PRIVATE
     ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM3/port.c
 )
 target_include_directories(freertos_kernel PUBLIC
     ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM3
 )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m4")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4(\\+|$)")
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM4F/port.c
     )
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM4F
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7(\\+|$)")
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM7/r0p1/port.c
     )
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM7/r0p1
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m33")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33(\\+|$)")
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c
@@ -95,7 +95,7 @@
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m55")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55(\\+|$)")
 # TODO: using the same port files as Cortex-M33. Update for Cortex-M55.
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c
@@ -104,7 +104,7 @@
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m85")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85(\\+|$)")
 # TODO: using the same port files as Cortex-M33. Update for Cortex-M85.
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c
