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: Need to reprogram TM4C123G(U2) on Tiva C launchpad

Part Number: EK-TM4C123GXL

Hello guys, I need to reprogram TM4C123G(U2) on Tiva C launchpad.

I accidently corrupted the ICDI interface by on of the follwoing :

1- Uploaded the attached code, that may corrupte the clock configurations.

2- Update the ICDI firmware with LM flasher build (1381) not (1613).

anyway, I ended up with not recognized board my PC (or other PCs)/ Unable to find target error .

after some digging into the Tiva c EK-TM4C123GXL schematics, I found TC2050-IDC-NL JTAG interface connected to TM4C123GXL(U2 not U1) JTAG pins.

So what I am asking is How to reflash Factory firmware again on TM4C123GXL(U2 not U1) using TC2050-IDC-NL JTAG SO I can get my Tiva c EK-TM4C123GXL working back again with ICDi.

Thanks.

Attachments:

USED source code:

drive.google.com/.../view

  • Hi,

      TI network will block us from accessing public cloud storage. So I can't access your code. You can attach the code in the forum directory by inserting file. 

      In any case, reading your description, if you cannot have the board recognized by the PC, the ICDI is somewhat corrupted. You can try to update the ICDI firmware again even though you tried it already. Try with another PC and see if any success. If it still doesn't work I will suggest you just move on to another new board. Or you have other debug probes (i.e. XDS100, XDS200 and etc) you can use them instead of ICDI to debug the board. If you have another good board it is also possible to use the good board's ICDI to debug the bad board. See section 5.3 in this app note.  

  • Thank you Charles for your replay.

    So there is no hope to restore my dead ICDI ?

    Anyway, I uploaded the code, So at least you can tell me what made ICDI corrupted !!!, cause the this code is still running but I can't access ICDI any more.21.zip

  • Thank you Charles for your replay.

    So there is no hope to restore my dead ICDI ?

    Anyway, I uploaded the code, So at least you can tell me what made ICDI corrupted !!!, cause the this code is still running but I can't access ICDI any more.8037.21.zip

  • Hi,

      If you simply try to download code via the JTAG to the MCU (not the ICDI) then it should not corrupt the ICDI. Perhaps the problem is not with the ICDI. It may have something to do with the the MCU running your updated code. Normally, the device can get locked out from debug access if code intentionally re-purpose the JTAG pins for GPIO usage. Or the device is intentionally put into sleep mode. Do you remember if your code is doing as such? In LM flash programmer you can do an unlock of the device. Have you tried like below?

    The other suggestion I made earlier was to use another debugger or even another good launchpad to see if you can connect to the bad board.  See the app note link I sent. If you can use another debugger to connect then you can try to erase the flash. If this works, then try to use the ICDI on this board to connect again. If you still cannot connect to the board using the ICDI then the ICDI is most likely not recoverable. 

    I find this past post that may explain a bit more in details. 

    https://e2e.ti.com/support/microcontrollers/other/f/908/p/311335/1084148?tisearch=e2e-quicksearch&keymatch=reflash%20icdi#1084148

  • Can you also show your device manager from Windows?

  • This is the device manager and the configuration of the board and you can see that the last code is up and running.

  • ok, thanks. I think your MCU is still good. When you tried to update the ICDI firmware with an older version that might have cause the Windows not able to enumerate the board anymore. My recommendation is still for you to try updating the ICDI firmware again with the latest version of the LM flash program and see if you can recover it. There is no guarantee on this. 

  • I was hopping to use any working board or any other debugger (not available now) and connect it to the TC2050-IDC-NL on the back of my brokingboard and upload the ICDI firmware but I guess this isn't opened by TI.

  • Hi,

      Your understanding is correct. Even if you can hack the JTAG interface to the ICDI chip you still need proper tool and firmware to update the ICDI's flash. The firmware will not be available to general public. 

      I still want to make sure it is not a driver issue on your PC side. Do you mind to try with another Windows machine and double check that you still cannot connect to the board. If you can connect with a different Windows machine then it is a Windows driver issue. You can download the ICDI driver for your Windows machine again. If you still cannot connect with a different Windows machine, I will suggest that you just move on to the new board. Or as mentioned use another debugger if you have one to debug your bad board. It will be much cheaper for you to purchase a new launchpad than to buying a new debug probe though. 

  • Hi Charles,

    I tried on different machine, maybe I will try a third machine.

    but anywy I will move to new board.

    I just need to verify that there is nothing in my code could corrupt the ICDI again, and the error was because of using old flashing tool.

    Thanks.

  • Hi Hossam,

      As long as you don't inadvertently re-purpose device pins PC[3:0] for GPIO then you should be fine from your code point of view. The PC[3:0] are JTAG pins but can also be re-purposed for GPIO. Once re-purposed you lose the JTAG capability. Unless this is done purposefully as you have other means to debug and update your firmware again (i.e. using bootloader via serial interface), please don't re-purpose PC[3:0] for GPIO functionality.