File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -455,7 +455,9 @@ rt_inline rt_uint32_t rt_hw_get_ipsr(void)
455455 __asm volatile ("MRS %0, ipsr" : "=r" (result ) );
456456 return (result );
457457#elif defined(__IAR_SYSTEMS_ICC__ )
458- return __iar_builtin_rsr ("IPSR" );
458+ uint32_t result ;
459+ __asm volatile ("MRS %0, ipsr" : "=r" (result ));
460+ return result ;
459461#elif defined ( __GNUC__ )
460462 uint32_t result ;
461463 __asm volatile ("MRS %0, ipsr" : "=r" (result ) );
@@ -519,7 +521,9 @@ rt_inline rt_uint32_t rt_hw_get_primask_value(void)
519521 __asm volatile ("MRS %0, primask" : "=r" (result ));
520522 return result ;
521523#elif defined(__IAR_SYSTEMS_ICC__ )
522- return __iar_builtin_rsr ("PRIMASK" );
524+ uint32_t result ;
525+ __asm volatile ("MRS %0, primask" : "=r" (result ));
526+ return result ;
523527#elif defined(__GNUC__ )
524528 uint32_t result ;
525529 __asm volatile ("MRS %0, primask" : "=r" (result ));
You can’t perform that action at this time.
0 commit comments