cancel
Showing results for 
Search instead for 
Did you mean: 

There is some problem with state changes (dfuDNLOAD-IDLE -> dfuMANIFEST-SYNC) in DfuSe Demo(v3.0.6)

ASedo.1
Associate II

Hi. I am working with DFU by DfuSe Demo(v3.0.6) and auto-generated code from CubeMX for STM32F072. My goal - control DFU state for choosing the best moment to reboot device. From app notes and DFU specification I found out, that state change (dfuDNLOAD-IDLE -> dfuMANIFEST-SYNC) happens after last command DNLOAD with zero wlength. But in Keil debug and UART output( that was implemented by me) I see, that DfuSe Demo doesn't send this command and the command order looks like :

  • ........ - process of firmware uploading
  • DFU_GETSTATUS 
  • DFU_DNLOAD - this is last package with firmware
  • DFU_GETSTATUS 
  • DFU_GETSTATUS 
  • DFU_GETSTATUS 
  • DFU_GETSTATUS 
  • DFU_ABORT 
  • DFU_GETSTATUS 

With "Verify" I had the same situation - DFU_ABORT command resets the state to dfuIDLE.

Maybe anyone had same problems or can give a piece of advice?

Update: But, in general the update and verify processes always are successful.

0 REPLIES 0