DFU bootloader
Figure 57. Write Memory: Device side
State = dfuERROR
Status = errTARGET
4.5.2
Set Address Pointer command
The Set Address Pointer command is selected when wValue = 0 and the first byte of the
buffer sent by the Host is 0x21. The Buffer length should be 5 (the four remaining bytes are
the address bytes, LSB first (32-bit address format)).
The Host sends a DFU_DNLOAD request with the parameters above to set the Address
Pointer value used for computing the start address for Read and Write operations.
The STM32F105xx and STM32F107xx receives the bytes as follows:
Byte 1:
Byte 2:
Byte 3:
Byte 4:
Byte 4:
After sending Set Address Pointer command, the host has to send DFU_GETSTATUS
request.
The Set AddressPointer command is effectively executed only when a DFU_GETSTATUS
request is issued by the Host. If the status returned by the device is other than dfuDNBUSY,
then an error has occurred.
76/83
No
State = dfuERROR
Status = errVENDOR
State = dfuDNLOAD-IDLE
Status = OK
0x21
- Set Address Pointer command
A[7:0]
- LSB of the Address Pointer
A[15:8]
- Second Byte of the Address Pointer
A[22:16] - Third Byte of the Address Pointer
A[31:23] - MSB of the address Pointer
Doc ID 14156 Rev 1
Write Memory
Compute
address
Address allowed?
Yes
No
ROP active?
Yes
No
Write the received buffer
to the destination address
Destination == Option
Bytes?
Yes
System Reset
AN2662
Need help?
Do you have a question about the STM32F105 Series and is the answer not in the manual?
Questions and answers