This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EK-TM4C123GXL: USB DFU upload to get the flash contents

Part Number: EK-TM4C123GXL

The contents read through USB DFU begin with an 8 byte record, supposed to be the programming commands for possible downloads. The record content is: 01 00 06 00 00 e8 03 00, which specifies that the flash will be programmed from block number 6! I'm quite confused here, should it be block number 0? Another issue is that I have two "broken"  EK-TM4C123GXL, which will not enumerate as nothing if plugged to a USB host by the ICDI USB port. But it seems that it is still working as the led blue-red-yellow is blinking as usual. Is ICDI in some locked up state in this case?

  • I am not sure what you are doing. If you use LM Flash Programmer to do an upload using USB DFU, the file format is binary. There are two TM4C123 devices on the EK-TM4C123GXL launch pad. The one on the top of the board is connected to the micro USB connector on the top of the board. It provides the in-circuit debugger and a USB to serial port interface for the other device. The bottom device is connected to the micro USB connector on the side of the board. It will support USB DFU if the device is blank (or has an invalid SP or reset vector) or if the code programmed into it configures the device for USB DFU.

    I think you may be confusing the format of the data being sent to program the device, and the data that will be in a file after an upload. It would help me to understand your question if you told me how you saw 01 00 06 00 00 e8 03 00.
  • Hi Bob,

    Thanks for your reply.

    I've always being using the ICDI USB interface. Yes it enumerates as a USB device of four interfaces, one of them can be used to trigger it to reset into a USB DFU device.

    The data is uploaded from this USB DFU device. The uploaded data has a size of 256k + 8 bytes, with the above 8 bytes preceding the 256k flash contents.

    The 8 bytes is supposed to be a DFU_CMD_PROG record, according to "Stellaris® Application Update Using the USB DFU Class".

    The 0006 is the starting block number for programming the flash. But should the starting block number be 0 for flashing the flash?

    Regards,

    Dashi Cao