AnsweredAssumed Answered

DFU: LEAVE does not jump to application.

Question asked by wolff.roger on Jan 13, 2015
Latest reply on Jan 19, 2015 by wolff.roger

I want to jumper my STM32F072 processor for "boot to system memory": DFU mode. Then I want to use software to "start the application". 

This should be possible.  AN3156 section 5.5 tells me that after a  set address a zero-sized download request will cause the processor to use that address as a reset vector. 

The "dfu-util" program that I'm using has the following code:  
dfuse_special_command(dif, dfuse_address, SET_ADDRESS);
dfuse_dnload_chunk(dif, NULL, 0, 2); /* Zero-size */
I've checked "dfuse_address" is the proper 0x8000000. The processor then enters " dfuMANIFEST state". But it in fact just re-enumerates as the DFU bootloader. 

This would be consistent with no address having been set. 

Any ideas as to what can be going wrong? The idea is that I don't want to physically change the boot0 pin to chose between DFU download and starting the application. 

Outcomes