This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Where is __CORTEX_M defined? Trying to add workaround for Errata [87] but code ifdef out

Hello,

I am using an nRF52840 on a custom board, and I want to add the workaround for Errata [87] Unexpected wake from System ON Idle when using FPU.  However, the the functions

__set_FPSCR
__get_FPSCR
in the code for the workaround

seems to be commented out through an #ifdef statement, see below:

#if       (__CORTEX_M == 0x04U) || (__CORTEX_M == 0x07U)

/**
  \brief   Get FPSCR
  \details Returns the current value of the Floating Point Status/Control register.
  \return               Floating Point Status/Control register value
 */
__STATIC_INLINE uint32_t __get_FPSCR(void)
{
#if (__FPU_PRESENT == 1U) && (__FPU_USED == 1U)
  register uint32_t __regfpscr         __ASM("fpscr");
  return(__regfpscr);
#else
   return(0U);
#endif
...

Where is __CORETEX_M defined in the project?  I am using nRF52840 so I am using a CORETEX M-4 so why is this code disabled?

Parents Reply Children
No Data
Related