What are the various ways to update firmware through DFU?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Subhash24
Level 4
Level 4
25 replies posted 10 likes given 50 sign-ins

Hello,

I'm using denebola kit,and I need to know what are the various ways to update firmware through DFU?

0 Likes
1 Solution

Hello,

You can use https://community.infineon.com/t5/Resource-Library/FX3-Fail-Safe-Firmware-Update/ta-p/246074 as reference 

- Initially, the SSBL (second stage bootloader) and the primary firmware can be programmed to EEPROM/FLASH.

- On power up, the based on the PMODE lines status , let CX3 boot with SSBL. The SSBL can check if the firmware at a particular location ( for example 0x6000) is valid. If yes, CX3 will boot with the primary firmware. 

- When firmware update command is sent by the host, the primary firmware can switch back to SBBL and receive the firmware and write to EEPROM/FLASH

- Once the updated firmware is written successfully (without any errors), SSBL can boot the device with update firmware if the firmware is valid

Please note that the host application to send the updated firmware needs to be developed.

If you want to use the host app and image combine utility from this, you can do that as well. As you wan to update a firmware initially you can keep both primary and secondary firmware as same firmware (in addition to SSBL) and update the secondary firmware later (during the update)

 

Regards,
Rashi

View solution in original post

0 Likes
5 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please let me know if you want to implement the USB DFU Class to your device for the firmware update as provided by USB org  https://www.usb.org/sites/default/files/DFU_1.1.pdf  or do you have any other requirement.

If you do not want to use USB DFU class, please refer to this blog https://community.infineon.com/t5/Resource-Library/FX3-Fail-Safe-Firmware-Update/ta-p/246074

If yes, please refer to this spec/blog and let me know if there are queries.

Regards,
Rashi
0 Likes

Hello,

          I'm trying to use following  for denebola kit.

https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html

Thank you.

0 Likes

Hello,

The DFU Middleware library that you are referring to is relevant to the devices supported by ModusToolBox (for example PSOC6)

You can refer to this blog   FX3 Fail Safe Firmware Update - Infineon Developer Community for firmware update on CX3

Regards,
Rashi
0 Likes

Hello,

          but the link you said to refer, says 2 images should be combined and uploaded, but I need to update to new firmware in feature, is there any ways to  use DFU instead of DFU protocol defined by usb.org

Thank you.

0 Likes

Hello,

You can use https://community.infineon.com/t5/Resource-Library/FX3-Fail-Safe-Firmware-Update/ta-p/246074 as reference 

- Initially, the SSBL (second stage bootloader) and the primary firmware can be programmed to EEPROM/FLASH.

- On power up, the based on the PMODE lines status , let CX3 boot with SSBL. The SSBL can check if the firmware at a particular location ( for example 0x6000) is valid. If yes, CX3 will boot with the primary firmware. 

- When firmware update command is sent by the host, the primary firmware can switch back to SBBL and receive the firmware and write to EEPROM/FLASH

- Once the updated firmware is written successfully (without any errors), SSBL can boot the device with update firmware if the firmware is valid

Please note that the host application to send the updated firmware needs to be developed.

If you want to use the host app and image combine utility from this, you can do that as well. As you wan to update a firmware initially you can keep both primary and secondary firmware as same firmware (in addition to SSBL) and update the secondary firmware later (during the update)

 

Regards,
Rashi
0 Likes