USB Firmware Update using MCUBoot on RA6M3 Custom Board (R7FA6M3AF3CFB)

Hello Team,

I am using a RA6M3 custom board with MCU R7FA6M3AF3CFB, working with e2 studio IDE and FSP version 4.2.0.

I am new to implementing firmware updates using the MCUBoot bootloader over USB (not over-the-air). I referred to the example project ra_mcuboot_ra6m3 and added the PCDC USB stack in the FSP configuration. I also updated the device number and pin configurations according to my custom board.

I’m not sure if I am proceeding in the correct direction. From the resources and AI tools I’ve consulted, I’ve learned that:

  • Renesas does not officially support USB DFU by default.

  • However, it is possible to use the MCUBoot example and integrate the PCDC stack manually to enable USB-based firmware updates.

  • In this case, the firmware update logic must be implemented manually to handle USB data reception and flash programming.

I would appreciate it if you could confirm if this approach is valid, and what additional steps or best practices I should follow to complete the implementation.

Task Required? Details
Add USB PCDC to application Heavy check mark Use r_usb_pcdc stack and match settings to your board
Handle USB receive Heavy check mark Implement usb_event_callback() or polling for data
Store firmware to flash Heavy check mark Use r_flash_hp or r_flash_lp
Trigger MCUboot swap Heavy check mark Mark image for update using bootutil APIs
USB DFU class X Not supported by default in Renesas FSP

 

Feature Support
Use ra_mcuboot_ra6m3 as base White check mark Yes
Add PCDC USB stack White check mark Yes
Native USB DFU support X No (must implement manually)
USB firmware update over CDC White check mark Supported (with custom logic)
Bootloader USB handling X Not directly unless you modify bootloader

The above information was suggested by an AI tool while I was researching how to implement a working firmware update process.

Thank you,

Manthan