I have a working board based on the TMS320VC5506 and have successfully created many bootloader images for 24-bit Flash via McBSP0. I am now trying to get the USB bootloader to work, but it seems that the data transfer is not complete or the bootloader does not jump to my code. I have a reset button on my board, but it simply repeats the bootloader process from the beginning and seems to stop at the same place.
When first attached in USB bootloader mode, my board appears to the USB Host with the expected Device Descriptors VID:0451 PID:9001 and a single Bulk Endpoint. The board will remain in this mode until I send a bootloader image. My bootloader has been linked to avoid SARAM at 0x01F800 to 0x01FFFF, since that memory is used by the USB bootloader. As soon as I send the image, the DSP disconnects from USB but the board shows no signs of having run my code.
I am using Mac OS X to send the bootloader image as Bulk data, all in one call. My bootloader image happens to be 45562 bytes in size, and I have verified that it is a valid and consistent bootloader image. All sections have a valid length, addresses vary from 0x0000C0 to 0x00C150 (i.e. nothing gets near 0x01F800), the image has a valid, non-zero entry point, 2 register settings, and the final section has a length of 0x00000000 (but no address is present). This bootloader image was created with
hex55.exe FlashWrite.out -boot -v5510:2 -serial8 -b -o 04519001.bin -map 04519001.bxp -reg_config 0x1c00, 0x2190 -delay 0x0010
I tried a bootloader image without the register configurations with no success. I added the above reg_config and delay from the USB Bootloader examples in case the settings are specifically needed.
Unlike newer C5500 chips, the C5506 does not require encrypted bootloader images (to my knowledge), so that should not be the cause of my troubles.
I am left with no apparent option besides tracing in the debugger through all of the USB operations (which should prove rather difficult in the debugger), but I have a feeling that there is something simpler. Does anyone have ideas or suggestions?