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.
已解决! 转到解答。
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.
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.