DFU bootloader
Figure 56. Download request: Host side
State == dfuManifest?
1. Operations needing System Reset are: Read Unprotect command and Write operations to the
Option Bytes.
2. After returning dfuDNBUSY state, the Device executes the requested operation and performs a
System Reset. The Host may simply wait for next enumeration or perform Get status again but
the device won't be able to respond, unless it fails to execute the requested operation.
Note:
Before issuing a Download request, the host has to check that the device is in a correct
state: dfuIDLE or dfuDNLOD-IDLE, and that there is no error reported in the status. If the
74/83
Download request
Leave DFU routine
No
Yes
Expect Device
disconnect
Get Status
State == dfuDNLOAD-IDLE?
Yes
Download
successful
Packet Acked?
Yes
Write/Set Address Pointer/
Erase/Read Unprotect routines
Send Data Buffer
Packet Acked?
Error
Get Status
State == dfuDNBUSY?
No
Operation needs System
optional
Expect Device
No
Status == errVENDOR?
ROP Active
Error
Doc ID 14156 Rev 1
No
No
Yes
No
Yes
1)
Reset?
Yes
2)
Reset
No
Yes
No
Status == errTARGET?
Yes
Address not allowed
AN2662
Error
Error
Error
Need help?
Do you have a question about the STM32F105 Series and is the answer not in the manual?
Questions and answers