Hi,
I'm having an issue including USB DFU Trigger library in my prototype application running on nRF52833.
My application is based on the ble_uart example, to which I added Buttonless DFU Service. My bootloader is based off of secure DFU bootloader, with Buttonless DFU support. I also added USB DFU in Bootloader (so Bootloader is dual transport: USB and BLE).
I'm currently able to use UART over BLE and perform BLE OTAs (started while I'm running App) using the nRF Toolbox App for Android/iOS. I'm also able to perform USB updates if I force the Dev Kit to Bootloader by holding Button4 while resetting the Dev Kit (using: "> nrfutil dfu usb-serial ... --p ..." command).
I'm now trying to incorporate the USB DFU Trigger library in my App, so I can start FW updates over USB from App.
It seems `nrfutil` is unable to detect my Dev Kit using the `--serial-number` arg (I don't think I can use `--p` since my App doesn't expose a virtual Serial Port, just USB DFU Trigger interface, as I'm not using USB for anything else in my App, except DFU Trigger).
The only modification I made to the DFU Trigger Library is changing the way DFU is entered: writing GPREGRET (which is also used by BLE Buttonless) instead of toggling the RESETPIN.
I'm calling "nrf_dfu_trigger_usb_init()" before "ble_stack_init()" in my main. Since I'm able to see my device in macOS "System Information" USB tab, I'm assuming the DFU Trigger interface is properly enumerated.
These are my DFU Trigger Library settings in sdk_config.h:
NRF_DFU_TRIGGER_USB_USB_SHARED 0
NRF_DFU_TRIGGER_USB_INTERFACE_NUM 0
APP_USBD_NRF_DFU_TRIGGER_ENABLED 1
Any help is appreciated.
Thanks,
Marco
Setup details:
Host OS: macOS Monterey 12.4 (running on M1)
HW setup: nRF52833 DK
SoftDevice: S113 (v7.2.0)
SDK version: nRF5 SDK 17.1.0 (I need to use this SDK version since I'm working on a legacy codebase)
nrfutil version: 6.1.4
IDE: Segger Embedded Studio for ARM V6.32b