diff --git a/platform/ext/common/iar/tfm_common_s.icf b/platform/ext/common/iar/tfm_common_s.icf
index a644933..4dd50d1 100644
--- a/platform/ext/common/iar/tfm_common_s.icf
+++ b/platform/ext/common/iar/tfm_common_s.icf
@@ -115,8 +115,9 @@
     /**** Base address of secure data area */
 define block TFM_SECURE_DATA_START with size = 0 { };
 
-#if defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8M_BASE__) || \
-    defined(__ARM_ARCH_8_1M_MAIN__)
+#if ((defined(__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \
+     (defined(__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) || \
+     (defined(__ARM8EM_MAINLINE__) && (__CORE__ == __ARM8EM_MAINLINE__)))
     /* Shared area between BL2 and runtime to exchange data */
 define block TFM_SHARED_DATA with alignment = 32, size = BOOT_TFM_SHARED_DATA_SIZE { };
 define block ARM_LIB_STACK with alignment = 32, size = S_MSP_STACK_SIZE { };
@@ -129,8 +130,9 @@
 define block ER_INITIAL_PSP_SEAL with size = 0x8 { };
 # endif
 keep {block TFM_SHARED_DATA, block ARM_LIB_STACK};
-#endif /* defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8M_BASE__) || \
-        * defined(__ARM_ARCH_8_1M_MAIN__) */
+#endif /* (defined(__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \
+        * (defined(__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) || \
+        * (defined(__ARM8EM_MAINLINE__) && (__CORE__ == __ARM8EM_MAINLINE__)) */
 
 #if !defined(TFM_PSA_API)
 define block TFM_SECURE_STACK   with size = 0x2000, alignment = 128 {};
@@ -158,8 +160,9 @@
      */
 define block TFM_APP_RW_STACK_END with alignment = 32, size = 0 { };
 
-#if defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_7M__) || \
-    defined(__ARM_ARCH_7EM__)
+#if ((defined(__ARM6M__) && (__CORE__ == __ARM6M__)) || \
+     (defined(__ARM7M__) && (__CORE__ == __ARM7M__)) || \
+     (defined(__ARM7EM__) && (__CORE__ == __ARM7EM__)))
 #ifdef S_DATA_PRIV_START
     /**** Privileged data area base address specified by Armv6-M/v7-M platform */
 define block TFM_SECURE_PRIV_DATA_BOUNDARY with size = 0 { };
@@ -179,8 +182,9 @@
 define overlay STACK_DATA {block ARM_LIB_STACK};
 
 keep {block TFM_SHARED_DATA, block ARM_LIB_STACK};
-#endif /* defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_7M__) || \
-        * defined(__ARM_ARCH_7EM__) */
+#endif /* (defined(__ARM6M__) && (__CORE__ == __ARM6M__)) || \
+        * (defined(__ARM7M__) && (__CORE__ == __ARM7M__)) || \
+        * (defined(__ARM7EM__) && (__CORE__ == __ARM7EM__)) */
 
 #if defined(ENABLE_HEAP)
     define block HEAP         with alignment = 8, size = S_HEAP_SIZE { };
@@ -309,8 +313,9 @@
      * area on Armv8-M cores, while move the two areas to the beginning of
      * privileged data region on Armv6-M/v7-M cores.
      */
-#if defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8M_BASE__) || \
-    defined(__ARM_ARCH_8_1M_MAIN__)
+#if ((defined(__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \
+     (defined(__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) || \
+     (defined(__ARM8EM_MAINLINE__) && (__CORE__ == __ARM8EM_MAINLINE__)))
     /* Shared area between BL2 and runtime to exchange data */
     overlay STACK_DATA,
 # if !defined(TFM_PSA_API)
@@ -319,8 +324,9 @@
     /* Define stack seal block for Library mode */
     block ER_INITIAL_PSP_SEAL,
 # endif
-#endif /* defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8M_BASE__) || \
-        * defined(__ARM_ARCH_8_1M_MAIN__) */
+#endif /* (defined(__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \
+        * (defined(__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) || \
+        * (defined(__ARM8EM_MAINLINE__) && (__CORE__ == __ARM8EM_MAINLINE__)) */
 
 #if !defined(TFM_PSA_API)
     block TFM_SECURE_STACK,
@@ -345,8 +351,9 @@
      */
     block TFM_APP_RW_STACK_END,
 
-#if defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_7M__) || \
-    defined(__ARM_ARCH_7EM__)
+#if ((defined(__ARM6M__) && (__CORE__ == __ARM6M__)) || \
+     (defined(__ARM7M__) && (__CORE__ == __ARM7M__)) || \
+     (defined(__ARM7EM__) && (__CORE__ == __ARM7EM__)))
 #ifdef S_DATA_PRIV_START
     /**** Privileged data area base address specified by Armv6-M/v7-M platform */
 };
@@ -360,8 +367,9 @@
      */
     /* Shared area between BL2 and runtime to exchange data */
     overlay STACK_DATA,
-#endif /* defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_7M__) || \
-        * defined(__ARM_ARCH_7EM__) */
+#endif /* (defined(__ARM6M__) && (__CORE__ == __ARM6M__)) || \
+        * (defined(__ARM7M__) && (__CORE__ == __ARM7M__)) || \
+        * (defined(__ARM7EM__) && (__CORE__ == __ARM7EM__)) */
 
 #if defined(ENABLE_HEAP)
     block ARM_LIB_HEAP,
@@ -402,8 +410,9 @@
 };
 
 place at address S_DATA_START          { block DATA };
-#if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_7M__) || \
-     defined(__ARM_ARCH_7EM__)) && defined(S_DATA_PRIV_START)
+#if ((defined(__ARM6M__) && (__CORE__ == __ARM6M__)) || \
+     (defined(__ARM7M__) && (__CORE__ == __ARM7M__)) || \
+     (defined(__ARM7EM__) && (__CORE__ == __ARM7EM__))) && defined(S_DATA_PRIV_START)
 place at address S_DATA_PRIV_START     { block PRIV_DATA };
 #endif
 
diff --git a/secure_fw/spm/cmsis_psa/arch/tfm_arch.c b/secure_fw/spm/cmsis_psa/arch/tfm_arch.c
index e30da0b..86523fd 100644
--- a/secure_fw/spm/cmsis_psa/arch/tfm_arch.c
+++ b/secure_fw/spm/cmsis_psa/arch/tfm_arch.c
@@ -11,6 +11,9 @@
 #include "utilities.h"
 #include "config_impl.h"
 
+#if defined(__ICCARM__) && (CONFIG_TFM_FP >= 1)
+#pragma required = tfm_arch_clear_fp_data
+#endif
 
 __naked void tfm_arch_free_msp_and_exc_ret(uint32_t msp_base,
                                            uint32_t exc_return)
diff --git a/toolchain_IARARM.cmake b/toolchain_IARARM.cmake
index 67d97e3..fc9f1e7 100644
--- a/toolchain_IARARM.cmake
+++ b/toolchain_IARARM.cmake
@@ -1,6 +1,6 @@
 #-------------------------------------------------------------------------------
 # Copyright (c) 2020, IAR Systems AB. All rights reserved.
-# Copyright (c) 2020, Arm Limited. All rights reserved.
+# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -50,7 +50,7 @@
         $<$<COMPILE_LANGUAGE:C,CXX>:-D_NO_DEFINITIONS_IN_HEADER_FILES>
         $<$<COMPILE_LANGUAGE:C,CXX>:--diag_suppress=Pe546,Pe940,Pa082,Pa084>
         $<$<COMPILE_LANGUAGE:C,CXX>:--no_path_in_file_macros>
-        $<$<COMPILE_LANGUAGE:C,CXX,ASM>:--fpu=none>
+        "$<$<COMPILE_LANGUAGE:C,CXX,ASM>:SHELL:--fpu none>"
         $<$<AND:$<COMPILE_LANGUAGE:C,CXX,ASM>,$<BOOL:${TFM_DEBUG_SYMBOLS}>,$<CONFIG:Release,MinSizeRel>>:-r>
     )
 endmacro()
@@ -62,7 +62,7 @@
       --silent
       --semihosting
       --redirect __write=__write_buffered
-      --fpu=none
+      "SHELL:--fpu none"
     )
 endmacro()
 
