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

SDK13.0.0 FreeRTOS Application loaded from DFU draws high current

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.

Parents Reply Children
No Data
Related