Application Specs:
NRF52832 + SDK13.0.0 + Softdevice 4.0.4 + FreeRTOS application project migrated from SDK 12.2.0
Uses low power SAADC, FPU, SPIM and buttonless DFU running on custom board.
When application is flashed with a debugger, the current draw is 600uA average. The same application when loaded via with secure dfu bootloader draws 6mA (even after I completely power down the board and restart it.) Any ideas why?
Any pointers here would be much appreciated!
Thank you, Labi
P.S. Couple other things I've observed
- RAM Power bits are all set to 0x0000FFFF (By the way, sd_power_ram_power_get/set/clr doesnt seem to do anything but NRF_POWER->RAM[idx].POWER works.
- FPU doesnt automagically shut off when used. This even after I called nrf_drv_power_init() and nrf_pwr_mgmt_init() during startup, so I have to clear FPU flags before I exit the task to force the FPU off. This issue seems to have come back in SDK13.
Edit 08/08/2017: Turns out that the high current is being drawn not by the MCU but by a SPI peripheral (Invensense ICM20648). Still, I can't understand why the high current draw when flashed via DFU/OTA and not when flashed directly with the debugger (i.e. without a bootloader installed.) In both cases the application works as expected, the only difference being the current draw. There's clearly some difference here running with a bootloader vs. without that I'm not understanding. Can someone from Nordic please help me resolve this? This issue is blocking my work at the moment.
Thanks, Labi.