I am in the process of porting a current production application from SDK 13.0.0 to SDK 14.2.0 https://devzone.nordicsemi.com/f/nordic-q-a/39494/dfu-migration-sdk-13-0-0-s132-sd-4-0-3-to-sdk-14-2-0-s132-sd-5-0-0 and I noticed the current was high due the the FPU interrupt not being handled. We use FreeRTOS configured for tickless idle in our designs and when I checked the port_cmsis_systick.c file between SDK 13.0.0 and SDK 14.2.0 I noticed that
#if(__FPU_USED == 1) __set_FPSCR(__get_FPSCR() & ~(FPU_EXCEPTION_MASK)); (void) __get_FPSCR(); NVIC_ClearPendingIRQ(FPU_IRQn); #endif
was missing from vPortSuppressTicksAndSleep(). It looks like this would be handled if I used the nrf_pwr_mgmt library in SDK 14.2.0 but this library doesn't seem compatible with FreeRTOS in tickless mode since it calls sd_app_evt_wait(). The example HRS with FreeRTOS also doesn't call nrf_pwr_mgmt. So my question is what is the recommend way to handle the FPU interrupt when using FreeRTOS with tickless idle enabled?
Thanks!