I have been trying to use the DFU feature in USB ROM API (Chapter 41 of UM10912). I followed the example for MSC and HID ROM to make my files (see attached). After calling USBD_API->hw->Connect(g_hUsb, 1), the device (connected at J3) is not visible to the host. I am using an LPCXpresso54628 board. All of the ROM API calls succeed, as much as I could verify. I have tried everything I could think of but I do not know what I did wrong. I also looked at LPCOpen-keil-lpc43xx/main.c at master · micromint/LPCOpen-keil-lpc43xx · GitHub and the code there looks similar to mine. Any suggestion on what to test or change is greatly appreciated.
Solved! Go to Solution.
Thank you for the files Carlos. They confirm that my DFU-specific files were configured correctly. The problem was that I did not initialize the pins correctly. Specifically, I had to initialize PIO0_22 (USB VBUS) and PIO4_11 (USB0_IDVALUE). The function BOARD_InitUSB() does this for me. I can now see the device with DFU interface.
Hi Rex,
I have sent you an example project using the DFU ROM API on LPC546xx, let me know if it helps.
Best Regards,
Carlos Mendoza
Technical Support Engineer
Thank you for the files Carlos. They confirm that my DFU-specific files were configured correctly. The problem was that I did not initialize the pins correctly. Specifically, I had to initialize PIO0_22 (USB VBUS) and PIO4_11 (USB0_IDVALUE). The function BOARD_InitUSB() does this for me. I can now see the device with DFU interface.
Hi carlosmendoza,
I have the same problem that Rex used to have. Could you please send me the example project too?
Thanks!!,
Víctor Perri