Buttonless USB DFU does not work with new USB stack

Hi,

I am trying to develop an application with USB DFU support using nRF Connect v3.2.2. I followed the lesson posted under Nordic Dev Academy on USB DFU.
The board that I am working with does not have a button, so I ran into some compile errors; however, I was able to get around the compile errors with this in my mcuboot.conf. 

# mcuboot.conf
CONFIG_LOG=n

CONFIG_MCUBOOT_SERIAL=y
CONFIG_UART_CONSOLE=n
CONFIG_SINGLE_APPLICATION_SLOT=y
CONFIG_MCUBOOT_INDICATION_LED=y
CONFIG_BOOT_SERIAL_CDC_ACM=y

CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x11000
CONFIG_BOOT_MAX_IMG_SECTORS=512

CONFIG_BOOT_SERIAL_ENTRANCE_GPIO=n
CONFIG_BOOT_SERIAL_WAIT_FOR_DFU=y
CONFIG_BOOT_SERIAL_BOOT_MODE=n
CONFIG_BOOT_SERIAL_PIN_RESET=n

But I am running into a new issue with the device USB not showing up on the host computer. The only way that I can get the USB to show up on the host computer and have USB DFU is if I use the old USB stack. Is there anything that I might be missing when it comes to the configuration?

Parents
  • Hi Tom, 

    Could you try this on the l9_e4_sol project and add the following configs into sysbuild/mcuboot.conf?

    # Enable wait for DFU functionality
    CONFIG_BOOT_SERIAL_WAIT_FOR_DFU=y
    CONFIG_BOOT_SERIAL_WAIT_FOR_DFU_TIMEOUT=5000

    Regards,
    Amanda H.

  • Hi Amanda,

    I added those configs to mcuboot.conf in l9_e4_sol and I added "CONFIG_BOOT_SERIAL_ENTRANCE_GPIO=n" as well since the devkit (rak4631/nrf52840) I am working with does not have a button and things were not compiling. The board boots up into mcuboot and spends 5 seconds in the bootloader as expected. During that time, I can see the USB being enumerated by the host computer. When it enters into the application, it no longer get enumerated by the host computer which is unexpected behavior.

    Regards,

    Tom

Reply
  • Hi Amanda,

    I added those configs to mcuboot.conf in l9_e4_sol and I added "CONFIG_BOOT_SERIAL_ENTRANCE_GPIO=n" as well since the devkit (rak4631/nrf52840) I am working with does not have a button and things were not compiling. The board boots up into mcuboot and spends 5 seconds in the bootloader as expected. During that time, I can see the USB being enumerated by the host computer. When it enters into the application, it no longer get enumerated by the host computer which is unexpected behavior.

    Regards,

    Tom

Children
No Data
Related