| Electronic Components Datasheet Search |
|
UM0290 Datasheet(PDF) 27 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0290 Datasheet(HTML) 27 Page - STMicroelectronics |
|
27 / 76 page ![]() UM0290 Device firmware upgrade 27/76 4.2.2 Phases There are four distinct phases required to accomplish a firmware upgrade: 1. Enumeration: The device informs the host of its capabilities. A DFU class-interface descriptor and associated functional descriptor embedded within the device’s normal run-time descriptors serve this purpose and provide a target for class-specific requests over the control pipe. 2. DFU Enumeration: The host and the device agree to initiate a firmware upgrade. The host issues a USB reset to the device, and the device then exports a second set of descriptors in preparation for the Transfer phase. This deactivates the run-time device drivers associated with the device and allows the DFU driver to reprogram the device’s firmware unhindered by any other communications traffic targeting the device. 3. Transfer: The host transfers the firmware image to the device. The parameters specified in the functional descriptor are used to ensure correct block sizes and timing for programming the non-volatile memories. Status requests are employed to maintain synchronization between the host and the device. 4. Manifestation: Once the device reports to the host that it has completed the reprogramming operations, the host issues a USB reset to the device. The device re- enumerates and executes the upgraded firmware. To ensure that only the DFU driver is loaded, it is considered necessary to change the id- Product field of the device when it enumerates the DFU descriptor set. This ensures that the DFU driver will be loaded in cases where the operating system simply matches the vendor ID and product ID to a specific driver. 4.2.3 Requests A number of DFU class-specific requests are needed to accomplish the upgrade operations. Table 5 summarizes the DFU class-specific requests. For additional information about these requests, please refer to the DFU Class specification. Table 5. Summary of DFU class-specific requests bmRequest bRequest wValue wIndex wLength Data 00100001b DFU_DETACH (0) wTimeout Interface Zero None 00100001b DFU_DNLOAD (1) wBlockNum Interface Length Firmware 10100001b DFU_UPLOAD (2) wBlockNum Interface Length Firmware 10100001b DFU_GETSTATUS(3) Zero Interface 6 Status 00100001b DFU_CLRSTATUS (4) Zero Interface Zero None 10100001b DFU_GETSTATE (5) Zero Interface 1 State 00100001b DFU_ABORT (6) Zero Interface Zero None |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |