
DFU bootloader
AN2662
Doc ID 14156 Rev 1
Figure 56.
Download request: Host side
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
Download request
No
Error
Send Data Buffer
Packet Acked?
Yes
Packet Acked?
Yes
Error
Get Status
State == dfuDNBUSY?
Yes
Get Status
State == dfuDNLOAD-IDLE?
No
Error
Yes
Status == errVENDOR?
No
Yes
ROP Active
Download
Status == errTARGET?
No
Address not allowed
Yes
Operation needs System
No
Yes
successful
Expect Device
optional
Leave DFU routine
Reset
2)
State == dfuManifest?
No
Yes
Expect Device
disconnect
No
Error
No
Error
Write/Set Address Pointer/
Erase/Read Unprotect routines
Reset?
1)