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-TM4C1294XL: USB Bootloader

Part Number: EK-TM4C1294XL

Hi,

I am trying to implement the USB bootloader on the EK-TM4C1294XL. I used a 

simplified form of usb_devc_serial and the code found on the forum here to

call the USB bootloader. My project is attached to this post. When I configure the 

LM Flash programmer in USB DFU mode I get Error-3 DFU_ERR_NOT_FOUND.

Please fill in what I am missing here.

Thanks,

Priya

Edited to add: Under Stellaris in circuit debug interface in the device manager, I can see

Stellaris ICDI DFU device and Stallirs ICDI JATAG/SWD interface.

USB_Boot.zip

  • Hi,

      Did you have a chance to run the the TivaWare example C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_demo_usb? This example is an USB application that will call ROM_UpdateUSB to start the DFU bootloading. Please run this example and see if you can get it to work and reference this example for your application. 

      Also please try the dfuprog which can be found in C:\Program Files (x86)\Texas Instruments\Tiva\usb_examples\dfuprog.exe. This command-line tool can be used to download your application image via USB in DFU mode.

  • I was able to flash the boot_demo_usb to the EK-TM4C1294XL. LM Flash programmer gives the same error no USB device is shown available. 

    I am not able to find the dfuprog.exe file. C:\Program Files (x86)\Texas Instruments has only a Stellaris directory, no Tiva available.

    Where can I find the dfuprog.exe?

    Thanks,

    Priya

  • Hi,

      

    Priya Nadathur70 said:
    I was able to flash the boot_demo_usb to the EK-TM4C1294XL. LM Flash programmer gives the same error no USB device is shown available. 

      I'm not clear with you statement here. You said you were able to flash the boot_demo_usb. This is an application, not a bootloader. Did you flash both the bootloader and this application (boot_demo_usb) via JTAG? Can you answer if you have a bootloader in the flash already? The bootloader will start at 0x0 while the application like the boot_demo_usb will start at 0x4000. Normally, you will have the bootloader already loaded in flash. Once the USB bootloader is running it will wait for the command from the LM flash programmer to download the application such as boot_demo_usb. After the application boot_demo_usb is loaded via the USB interface then the application can jump back to the bootloader again to start another DFU update. 

      As far as dfuprog, you can find in this link. http://software-dl.ti.com/tiva-c/SW-TM4C/latest/index_FDS.html. See below image. 

  • Charles,

    Thank you for your reply. I marked this thread resolved by mistake. How do I flash the bootloader via JTAG?

    I see startup files in this foloder

    C:\ti\TivaWare_C_Series-2.2.0.295\boot_loader

    but I don't know how to use these.

    Priya

  • Priya,

      There is already a bootloader in TivaWare that you can use. You just need to modify a few #define in the header file for USB bootloading. 

      Please refer to the boot_serial bootloader at C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_serial. This is just a normal CCS project like the blinky example. You just load the program using CCS. Note this is a bootloader for UART. But you just need to modify the bl_config.h file in the project to change it for USB bootloading. 

      I strongly recommend you run the boot_serial as is for now to get a hang of it on how it works to bootload with the UART interface. After you get it to work you can change the bl_config to enable the USB and disable UART. I'm attaching the bl_config.h that is already modified for using USB. Compare the attachment with the the bl_config.h in the boot_serial project to find out what is the difference. 

    8171.bl_config.h