diff --git a/cmake/toolchain/arm-none-eabi-gcc.cmake b/cmake/toolchain/arm-none-eabi-gcc.cmake
index 492abc5..182643f 100644
--- a/cmake/toolchain/arm-none-eabi-gcc.cmake
+++ b/cmake/toolchain/arm-none-eabi-gcc.cmake
@@ -17,18 +17,13 @@
 #
 
 set(TARGET_CPU "cortex-m4" CACHE STRING "Target CPU")
+string(TOLOWER ${TARGET_CPU} CMAKE_SYSTEM_PROCESSOR)
 
 set(CMAKE_SYSTEM_NAME Generic)
 set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
-set(CMAKE_ASM_COMPILER "arm-none-eabi-gcc")
 set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
-
-# Convert TARGET_CPU=Cortex-M33+nofp+nodsp into
-#   - CMAKE_SYSTEM_PROCESSOR=cortex-m33
-#   - TARGET_CPU_FEATURES=no-fp;no-dsp
-string(REPLACE "+" ";" TARGET_CPU_FEATURES ${TARGET_CPU})
-list(POP_FRONT TARGET_CPU_FEATURES CMAKE_SYSTEM_PROCESSOR)
-string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM_PROCESSOR)
+set(CMAKE_ASM_COMPILER "arm-none-eabi-gcc")
+set(CMAKE_LINKER "arm-none-eabi-ld")
 
 set(CMAKE_EXECUTABLE_SUFFIX ".elf")
 set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
@@ -40,12 +35,8 @@
 set(CMAKE_C_STANDARD 11)
 set(CMAKE_CXX_STANDARD 14)
 
-set(GCC_CPU "${TARGET_CPU}")
-if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m85")
-    set(GCC_CPU "cortex-m55")
-    list(APPEND GCC_CPU ${TARGET_CPU_FEATURES})
-    list(JOIN GCC_CPU "+" GCC_CPU)
-endif()
+set(GCC_CPU ${CMAKE_SYSTEM_PROCESSOR})
+string(REPLACE "cortex-m85" "cortex-m55" GCC_CPU ${GCC_CPU})
 
 # Compile options
 add_compile_options(
@@ -67,16 +58,16 @@
     --specs=nosys.specs)
 
 # Set floating point unit
-if("${TARGET_CPU}" MATCHES "\\+fp")
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "\\+fp")
     set(FLOAT hard)
-elseif("${TARGET_CPU}" MATCHES "\\+nofp")
+elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "\\+nofp")
     set(FLOAT soft)
-elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m33" OR
-       "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m55" OR
-       "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m85")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33" OR
+       CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55" OR
+       CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85")
     set(FLOAT hard)
-elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m4" OR
-        "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4" OR
+       CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7")
     set(FLOAT hard)
     set(FPU_CONFIG "fpv4-sp-d16")
     add_compile_options(-mfpu=${FPU_CONFIG})
diff --git a/cmake/toolchain/armclang.cmake b/cmake/toolchain/armclang.cmake
index aa19ff4..61a8e59 100644
--- a/cmake/toolchain/armclang.cmake
+++ b/cmake/toolchain/armclang.cmake
@@ -17,6 +17,7 @@
 #
 
 set(TARGET_CPU "cortex-m4" CACHE STRING "Target CPU")
+string(TOLOWER ${TARGET_CPU} CMAKE_SYSTEM_PROCESSOR)
 
 set(CMAKE_SYSTEM_NAME Generic)
 set(CMAKE_C_COMPILER "armclang")
@@ -24,35 +25,32 @@
 set(CMAKE_ASM_COMPILER "armclang")
 set(CMAKE_LINKER "armlink")
 
-# Convert TARGET_CPU=Cortex-M33+nofp+nodsp into
-#   - CMAKE_SYSTEM_PROCESSOR=cortex-m33
-#   - __CPU_FEATURES=no-fp;no-dsp
-string(REPLACE "+" ";" __CPU_FEATURES ${TARGET_CPU})
-list(POP_FRONT __CPU_FEATURES CMAKE_SYSTEM_PROCESSOR)
-string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM_PROCESSOR)
+set(CMAKE_EXECUTABLE_SUFFIX ".elf")
+set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 
-# Link target
-set(__LINK_TARGET ${CMAKE_SYSTEM_PROCESSOR})
-
-if ("nodsp" IN_LIST __CPU_FEATURES)
-    string(APPEND __LINK_TARGET ".no_dsp")
-endif()
-
-if ("nofp" IN_LIST __CPU_FEATURES)
-    string(APPEND __LINK_TARGET ".no_fp")
-endif()
-
-if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m55")
-    set(__LINK_TARGET 8.1-M.Main.dsp)
-endif()
-
-# Define C/C++ standards
+# Select C/C++ version
 set(CMAKE_C_STANDARD 11)
 set(CMAKE_CXX_STANDARD 14)
 
+# Link target
+string(REGEX MATCH "^cortex-m([0-9]+)([a-z]*)" __LINK_TARGET ${CMAKE_SYSTEM_PROCESSOR})
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "nodsp")
+    string(APPEND __LINK_TARGET ".no_dsp")
+endif()
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "nofp")
+    string(APPEND __LINK_TARGET ".no_fp")
+endif()
+
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55")
+    set(__LINK_TARGET 8.1-M.Main.dsp)
+endif()
+
 # Compile options
 add_compile_options(
-    -mcpu=${TARGET_CPU}
+    -mcpu=${CMAKE_SYSTEM_PROCESSOR}
     -mthumb
     "$<$<CONFIG:DEBUG>:-gdwarf-3>"
     "$<$<COMPILE_LANGUAGE:CXX>:-fno-unwind-tables;-fno-rtti;-fno-exceptions>")
