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.

debug-in and debug-out ref in Stellaris LM4F120 LaunchPad Debug How To wiki

Hi,

   In my quest to get debug working for Stellaris Launchpad + Linux + CCS5.2.1, I was referred to the subject wiki page (thanks Lisa from TI), at link:

http://processors.wiki.ti.com/index.php/Stellaris_LM4F120_LaunchPad_Debug_How_To

I feel there's probably something there that might help but the post does not establish a clear context--yes I'm sure it's me.  I have a few questions that might help me understand:

Note: I have a lot of experience working with embedded uP's, IDE's, debuggers, etc.  But, I've never used CCS, ICDI, or TI's ARM boards.

1.  for debug-in situation, what is an example "existing external debug adapter"?

2. What's the difference between JTAG and ICDI?

3. re "Some customers would like to use the ICDI to program and debug their own custom boards or other evaluation kits" for debug-out,  W.r.t. Stellaris Launchpad, is this in reference to the USB micro-B recepticle available on the board?

4. Have I confused this post for one that has nothing to do with the stellaris launchpad board because it's talking only about customer boards with TI Stellaris chips?

5. is there implicit suggestion that by using some other TI compatible JTAG adapter available on the market I might have better success than using "debug" USB micro-B connection and CCS?

Background: so you are aware of where I'm coming from and my interest in this here is my recent post trying to get CCS 5.2.1 + linux debugging working:

http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/242507.aspx

Thanks for helping to clear things up...

  • Hi Tim,

    Tim Coddington said:
    1.  for debug-in situation, what is an example "existing external debug adapter"?

     

    Tim Coddington said:
    2. What's the difference between JTAG and ICDI?

    The're lot's of debuggers for ARM MCUs out there. The TI XDS100 is such an external ICDI (ICDI (in-circuit debug interface) for JTAG  http://processors.wiki.ti.com/index.php/IEEE_1149.1_(JTAG)

    Tim Coddington said:
    3. re "Some customers would like to use the ICDI to program and debug their own custom boards or other evaluation kits" for debug-out,  W.r.t. Stellaris Launchpad, is this in reference to the USB micro-B recepticle available on the board?

    The USB micro-B is not the JTAG connector! The JTAG interface (used for in-circuit debugging) for debugging EXTERNAL TARGETS (so, not the LM4F120 on the Launchpad) is available on 2.54mm pin headers. Have i.e. a look at the JTAG interface connector wiki http://processors.wiki.ti.com/index.php/JTAG_Connectors or refer to Chapter 4 of the LM4F120H5QR Data Sheet.

    Tim Coddington said:
    4. Have I confused this post for one that has nothing to do with the stellaris launchpad board because it's talking only about customer boards with TI Stellaris chips?

    Well, look at the Launchpad and you will find two LM4F120 on it. One (U2)  is used as a ICDI (programmed with the related firmware) to program/debug the other one (U1) in the middle of the board.

    Tim Coddington said:
    5. is there implicit suggestion that by using some other TI compatible JTAG adapter available on the market I might have better success than using "debug" USB micro-B connection and CCS?

    Should be answered from the above! Why should you spend hundreds or thousands of dollars for buying an external debugger to debug your Launchpad?

    And yes, there are 'high-end' ICDI's out there; i.e. have a look at he product range of Lauterbach (http://www.lauterbach.com/frames.html?home.html)

    aBUGSworstnightmare

  • We are making a custom board for one of the new TM4C129X uC and wish to retain the ability to program the TM4C129X over the USB interface -  the same way it is done on the TM4C129X Development Kit/Board.

    Two possible solutions are:

    1. The one suggested above - to use the Launchpad circuitry for the JTAG/ICDI to USB interface, configured as "Debug-out".  This uses the LM4F120H5QR.
    2. Copy the circuitry from the TM4C129X Dev Kit which uses a TM4C123 instead.

    Where can I get the source code for each of these options ?

    Better still, would TI stock pre-programmed and unmounted LM4F120H5QR or TM4C123 for the task ?

  • Hi Peter,

    when talking about 'the ability to program the TM4C129X via USB' does this include the ability to debug in the field?

    If not, simply use the USB boot loader for updating your firmware in the field. This will slightly reduce your BOM cost.

    aBUGSworstnightmare

  • Hi aBUGSworstnightmare,

    Field debug-ability (along with field programmability) is highly desirable.  If people want field debug-ability,  what is the most common and best supported option for the Stellaris and Tiva chipsets (or any TI micro for that matter)?  The only TI solution I can see is as described above but I would need the source code for the TM4C123 (launchpad) IC which would be programmed into it at manufacturing.  Is that  source code readily available ????

    Another solution is to use an FTDI chip which TI used to use with their LM3S dev kits but probably deemed it too expensive once the launchpad came out.

  • Somebody else asked exactly the same q. as me re. the launchpad ICDI source code but no answer was forthcoming !!   The reason I would need the source code rather than just the binary is that I'd like to edit it to permit the LM4F120 to debug one of two micros in my main product.

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/213680/1076771.aspx#1076771

  • Hi,

    ever though about using an XDS100 (http://www.ti.com/tool/xds100)? You can buy them off the shelf (i.e. https://www.olimex.com/Products/DSP/Emulators/TMS320-XDS100-V3/) or build them by your own.

    Rgds
    aBUGSworstnightmare 

  • aBUGSworstnightmare said:
    ever though about using an XDS100 (http://www.ti.com/tool/xds100)? Yo

    The field debug-ability needs to be incorporated into the product we are designing.  This means incorporating the Launchpad's LM4F120 (TM4C129X) on the product's PCB which means we need to program it, hence why I ask for the source code.  I agree this approach isn't very common, but it means that anybody in our development team can connect directly to the finished product and develop+debug with it without the need for an external ICDI/JTAG adapter/emulator.  

    The additional cost of $5 (qty 1000) for a basic 64 pin TM4C129X is peanuts (<0.5%) of the total product's COGS.