From e783faa1f314d770df66dd3bd422354d18a53174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=99=E8=92=99plus?= Date: Thu, 28 May 2026 18:08:24 +0800 Subject: [PATCH] fix IAR build error --- libcpu/arm/cortex-m4/cpuport.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libcpu/arm/cortex-m4/cpuport.c b/libcpu/arm/cortex-m4/cpuport.c index 69bcc4c6d9e..c78c75bd55d 100644 --- a/libcpu/arm/cortex-m4/cpuport.c +++ b/libcpu/arm/cortex-m4/cpuport.c @@ -455,7 +455,9 @@ rt_inline rt_uint32_t rt_hw_get_ipsr(void) __asm volatile ("MRS %0, ipsr" : "=r" (result) ); return(result); #elif defined(__IAR_SYSTEMS_ICC__) - return __iar_builtin_rsr("IPSR"); + uint32_t result; + __asm volatile ("MRS %0, ipsr" : "=r" (result)); + return result; #elif defined ( __GNUC__ ) uint32_t result; __asm volatile ("MRS %0, ipsr" : "=r" (result) ); @@ -519,7 +521,9 @@ rt_inline rt_uint32_t rt_hw_get_primask_value(void) __asm volatile ("MRS %0, primask" : "=r" (result)); return result; #elif defined(__IAR_SYSTEMS_ICC__) - return __iar_builtin_rsr("PRIMASK"); + uint32_t result; + __asm volatile ("MRS %0, primask" : "=r" (result)); + return result; #elif defined(__GNUC__) uint32_t result; __asm volatile ("MRS %0, primask" : "=r" (result));