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.

TM4C1236H6PM: implementing DFU

Part Number: TM4C1236H6PM
Other Parts Discussed in Thread: EK-TM4C129EXL

Hi i  want to implement DFU on my controller with virtual serial port, there is an example given for DFU with Mouse in dk-tm4c129x/boot_demo_usb i have used this example with dk-tm4c123g/boot_usb i have changed the pin configuration according to my board, i can see composite device in Device manager as well as mouse device but when i use LM Flash Programmer if i search for the DFU devices i don't get any listed and if i shift  to next tab i get "error -3"

 

  • Hi,
    Is this your custom board or you are using the TM4C123 LaunchPad? If you use a LaunchPad, please make sure that you connect the USB cable to the LaunchPad's USB device port and switch the power supply to the device. Do not connect the LaunchPad's debug USB port to the PC.
  • Hi Charles,
    Thank you for your replay, i am using custom board and i am able to implement the usb serial as well as usb MSC but when i tried to use DFU i got an example program as mentioned above form dk-tm4c129x/boot_demo_usb and i have used the boot loader dk-tm4c123g/boot_usb, i get the mouse enumeration (but i am not able to test mouse because my board dosen't support) and i can see one more enumeration as Composite device but when i use LM Flash Programmer i don't get any DFU device i get "error -3".

    this is the dmesg i get:

    [ 3924.075142] usb 1-3: new full-speed USB device number 9 using xhci_hcd
    [ 3924.203999] usb 1-3: New USB device found, idVendor=1cbe, idProduct=000a
    [ 3924.204003] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 3924.204006] usb 1-3: Product: Mouse with Device Firmware Upgrade
    [ 3924.204007] usb 1-3: Manufacturer: Texas Instruments
    [ 3924.204009] usb 1-3: SerialNumber: 12345678
    [ 3924.205022] input: Texas Instruments Mouse with Device Firmware Upgrade as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:1CBE:000A.0002/input/input15
    [ 3924.259190] hid-generic 0003:1CBE:000A.0002: input,hidraw1: USB HID v1.11 Mouse [Texas Instruments Mouse with Device Firmware Upgrade] on usb-0000:00:14.0-3/input0

    in LM Flash Programmer i get DFU_ERR_NOT_FOUND i don't see any dfu device .

  • Hi Chiranth,

     Do you also have a LaunchPad with you that you can try? If you do please try to see if it works.

     1. Restart your computer. This is kind of optional but I find it to solve the problem many times.

     2. Make sure you don't have any other USB devices connected to your LaunchPad.

    3. Plug the USB cable to your PC and to the LaunchPad's Debug USB port.

    4. Go to LM flash programmer under Flash Utilities tab to erase the device.

    5. Remove the USB cable from the debug port and now connect to the LaunchPad's USB Device port.

    6. Make sure you switch the power supply to the USB Device powered.

    7. Go to LM flash programmer under the configuration tab and select USB DFU as the interface.

    8. Click on the Refresh button. Do you see "0 - Stellaris Device Firmware Update" like below?

    9. You can go to Program tab and select the application binary image that you want to load using DFU mode. 

    If the above works for you then you can try the same steps on your custom board. 

  • Hi charles,
    According to your suggestion i have tried with ek-tm4c129exl and the DFU works fine, however i if try it with my custom board i need to install windows drives if i try to install drivers present in "TivaWare_C_Series-2.1.3.156/windows_drivers" it fails with an error message "hash file for the file is not present...." so i disabled the signing and then i installed drivers( is it ok to do so? ), when i go to my device manager i get driver as a "device firmware upgrade(in runtime mode)" but if i try to see dfu device in LM flash programmer no Luck i find same error.

    i also found that this is a problem in drivers by suggested by one of ti employee :

    "The issue was identified to a signing tool that causes two dates to appear. The issue has been fixed and I can send over a temporary cat file for Generic Bulk Device that you may want to evaluate (official release is in 2.1.4)" 

    https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/530725/1991981?keyMatch=The%20hash%20for%20the%20file%20is%20not%20present%20in%20the%20specified%20catalog%20file.%20The%20file%20is%20likely%20corrupt%20or%20the%20victim%20of%20tampering.&tisearch=Search-EN-Everything

    but again if i try to download the drivers i can't download the complete driver.

    as well as there is a suggestion of signing a driver through windows driver kit.


    regards,
    Chiranth H D

  • Hi Chiranth,

    Can you please refer to this sticky note e2e.ti.com/.../374640 about common issues? Please see if you can solve your custom board problem accordingly.

    ISSUE#5: USB DFU gets detected but does not download.

    1. For a TM4C129 with Ethernet PHY enabled and a crystal other than 24-25Mhz, the USB DFU will show up in the device manager but not download. To correct the same add a resistor of 4.89K between RBIAS and GND pin for the ROM Boot Loader to work with the USB DFU

    2. Other than above for a TM4C129 and TM4C123 which has the same issue, if the CCSv6 has been installed then the drivers for the USB DFU may have been overwritten. To revert the driver, in the device manager uninstall the USB DFU driver and replace it with the stellaris_icdi_drivers from www.ti.com/.../stellaris_icdi_drivers
  • Hi charles,
    Sorry i was not able to update any further info, According to your suggestion i had tried DFU with ek-tm4c129exl launchpad and i was able to update the firmware successfully, but when i went on with my board i got some issues.
    Here i am using a "boot_usb" example form dk-tm4c123g and boot_demo_usb" from dk-tm4c129x and changed usb pins in bl_config.h according to my board, when i flash usb enumerates as "HDI-Complaint mouse" and "TivaWare Device Firmware Upgrade(runtime mode)"
    when i use dfuprog tool to shift to DFU mode the devices gets disconnected and reconnects back but the driver problem arrises.

    before executing dfuprog -i <index> -m:

    after executing dfuprog -i 0 -m

    i get error as "Windows has stopped this device because it has reported problems. (Code 43)", in device properties

    one more thing when the device is working fine i get one mouse interface and "TivaWare  Device Firmware Upgrade(runtime mode)", is this ok or there should be an device descriptor for DFU mode.

    I have tried updating the drivers but it gives that the drivers has already up to date

    Regards,

    Chiranth H D

  • Hi Charles,
    Thanks for all your support i was finally able to implement DFU with Mouse, but now i want to implement DFU with serial can you please guide me
    through,
    is it possiable ? as i see in usb-ids.h there is no serial and DFU defined
    if Possiable ! do i need to create device drivers or do i have to alter the inf fine, if so which one and how to install

    Regards,
    Chiranth H D
  • Hi Chiranth,
    Sorry for the delay response. I'm currently out of office for two weeks. Glad that you are able to resolve the problem? Could you let us know what you did to make it work so others may benefit from your solution?

    I hope these these posts may provide some tips for the DFU with serial questions.

    e2e.ti.com/.../1689751

    e2e.ti.com/.../497724
    I don