I've been digging through the DFU in order to reduce it's power and I've come across 3 high power states.
1) The first is during initialization of the DFU. It happens on the first "execute" op code 0x04, where the public key and private key are verified. It takes around 600uC of charge, and around 125 milliseconds to verify the SHA256 hashes.
2) After all of the packets have been transmitted and during the final execute op code, there is a CRC check on the application that was just transmitted. The amount of charge and time it takes to process the CRC is variable and based on how large the application transmitted was.
3) Something right before the device reboots. I haven't been able to figure out where the continues execution after the final CRC check.
I have tried re-configuring the sdk_config file in order to bypass these checks, but the SHA256 verification is required. The CRC check at the end could most likely be removed since a periodic CRC check happens during the DFU transfer.
Could somebody point me where the code continues execution? I'm not sure if it's a reset state I should be worried about or if there's some data being moved around that is required for the application to boot.
Thanks ahead of time.

