DFU bootloader AN2662
74/83 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?
Ye s
Packet Acked?
Ye s
Error
Get Status
State == dfuDNBUSY?
Ye s
Get Status
State == dfuDNLOAD-IDLE?
No
Error
Ye s
Status == errVENDOR?
No
Ye s
ROP Active
Download
Status == errTARGET?
No
Address not allowed
Ye s
Operation needs System
No
Ye s
successful
Expect Device
optional
Leave DFU routine
Reset
2)
State == dfuManifest?
No
Ye s
Expect Device
disconnect
No
Error
No
Error
Write/Set Address Pointer/
Erase/Read Unprotect routines
Reset?
1)