Part Number: TMS320C5515
We would like to use the built-in (ROM) bootloader on the C5515 to load firmware over USB. The bootloader client available from TI, usb_boot_64.exe, requires a non-signed Windows driver which makes its use particularly awkward, especially since we want customers be able to load firmware themselves. Reading the scarce bootloader documentation I understand that the bootloader client simply writes the firmware file to an endpoint on the device, so writing a client doesn't sound difficult, and also there should be no reason to require a custom Windows driver since this task most probably can be achieved using e.g. Windows' own WinUSB driver.
For this I would like to have a few more details on the USB protocol used. The device presents an IN and an OUT endpoint, and obviously the firmware must be written to the OUT endpoint. Is there any use of the IN endpoint? The device descriptor declares for the OUT bulk endpoint a bMaxPacketSize of 64 bytes, a value that is invalid for a USB high-speed device - clearly a TI silicon bug. I hope this will not cause problems, and that this was not the reason for making a custom driver.
As an alternative to protocol information, the source code of the existing client would be useful.
Of course, if there is another bootloader client available already that doesn't require custom drivers, we would be happy to try it out.