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.

TM4C1294NCPDT: TM4C1294 SWD programming utility

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: SEGGER, TMDSEMU110-U

Hi,

The EK-TM4C1294 launch pad uses a TM4C123 as a debug interface. We are currently developing an electronic test bed for our product and wish to program our target device using another TM4C1294. Is the code for the debug interface for the EK-TM4C1294 launch pad availible? Does anyone know of any existing code or libraries allowing the programming of cortex M processors from cortex M simply using GPIO? 

Thanks.

  • Hi,
    If you want to debug and program a TM4C1294 device (as in your custom board) using a TM4C129 LaunchPad, you can do so by following the instructions in this app note. See section 4.8. www.ti.com/.../spma075.pdf

    You may explore using a bootloader where it will load your application image via one of the selected communication interfaces such as UART, SPI, I2C and others. If you meant using the GPIO pins as a functional signals such as UART, SPI and others then the answer is yes. But if you meant to ask using GPIO pins purely in its general purpose I/O usage to load a program then the answer is no.
  • Given that such test beds are one off (or a few) development costs exceed costs of micros considerably. I wouldn't skimp on the processor you use for testing. Just use a PC and an off the shelf adapter like the Segger. The development time savings will more than likely pay for the hardware (PCs are cheap) and in the event they are needed replacements are easy to get.

    Robert
  • It is noted that "SWD" was included w/in posters (proper - how rare that) Subject Line.

    Pardon - but is it not true that the (SO limited) "TM4C devices" - when "pressed into service as ICDI" - (STILL LACK) such (normal) SWD capability? (low and limited performance - such a deal...)

    As poster Robert (and sometimes this reporter) well note - a superior JTAG/SWD probe from Segger - properly enables SWD! (and has done so - forever...)
  • As can be seen in the circuit below the ICDI on the EK-TM4C1294 uses port A pins to program the host processor. The performance is more than adequate. We wish to produce an autonomous piece of test equipment capable of programming the DUT. The posting was to inquire if the code used in this ICDI was available. 

  • Your (important) Subject Line granted prominence to "SWD" - did it not?       Yet now - somehow - you retreat from that quest.     

    To my knowledge (w/out ever using vendor tools) "SWD - for sure - was past "notably absent" - from vendor's (limited) "bag of tricks."

    That is the major issue which I targeted - in your behalf.       Should your promotion of  "SWD" not be as "advertised"  - the choice you made - will often succeed...     (although your use of the forum's Search Box (up top) will reveal HUNDREDS of poster who suffered (and continue to suffer) dreaded  "JTAG Lock-Out!"       (so rarely experienced by World's Top Selling JTAG/SWD Probe "J-Link.")

    There is yet one more area - deserving of your consideration - I believe.      Is the board you propose using as the "Programmer" sufficiently "PROTECTED" ... (ESD/RFI & Physically) - thus "up to this repeated" (sometimes rushed) task?          You may note the (far more popular & proper) device proves far smaller - properly encased - thus more robust...      (there MUST be a reason that SO MANY have chosen "J-Link!")

    Most all vendors do NOT make such code "generally" available.     (unless you have VERY BIG Sales potential - and a compelling means to "back that up"...)

    Bon chance mon ami...

  • Yes, the Port A pins are multiplexed for JTAG/SWD functions. However, the debug probe firmware that is inside the TM4C123 is a TI proprietary IP and it source code is not available to the public. I have seen people trying to bit-bang the JTAG interface to the target device. But I don't think this is what you want to invest your effort. As suggested by cb1 and Robert, you will be better served with a jtag connector on your board that you can connect with the debug probe of your choice (be it Jlink or XDS110 and others) to debug/program your target device.
  • Hello friend Charles,

    Might you advise "IF" your firm's tools have "graduated" and are NOW able to provide "Poster's Requested SWD?"

    That requirement is in his Subject LINE - atop his posting - and remains (deflected or missed...) (but not by moi...)
  • RKRobinson said:
    As can be seen in the circuit below the ICDI on the EK-TM4C1294 uses port A pins to program the host processor.

    Yes.

    RKRobinson said:
    We wish to produce an autonomous piece of test equipment capable of programming the DUT.

    I understood that. I was suggesting that programming a micro to do that was a bad idea. Better would be to use a PC (The equipment can still be autonomous). You might even be able to use something like a BeagleBone but you'd need to check if the suppliers supported the H/W. Using a $5 micro here would be a false economy.

    RKRobinson said:
    The posting was to inquire if the code used in this ICDI was available. 

    This has been asked and answered many times, for example here https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/562027?tisearch=e2e-sitesearch&keymatch=ICDI%20available

    Note: Even with the source code, I would expect developing and maintaining a purpose built programming device would exceed the cost of buying one even if you include a PC. It would also take longer.

    Robert

  • Interesting cb1's and Charles replies only showed up after I posted.

    Robert
  • Oh No - must I use my "super powers" to (again) "Rescue you from "moderation?"

    Poster is "locked onto, "Vendor Only Resolved" - even though - and especially though - non Vendor posts ALONE RESOLVED his stated,  "SWD" requirement!"

  • Hi cb1,
    Here is the XDS110 introduction. The XDS110 includes SWD/SWO functionality. The wiki page can be found here. processors.wiki.ti.com/.../XDS110

    Introduction
    XDS110 is the newest class of JTAG debuggers for Texas Instruments' microcontrollers and embedded processors.

    XDS110 is a low cost embedded MCU debug probe which has derived from the Stellaris ICDI debug probe family. The debug probe has a Tiva Snowflake (TM4C129) as the debug processor. XDS110 includes SWD/SWO and Energy Trace™ functionality.

    It offers a balance of low cost with features between the super low cost XDS100 and mid range XDS200 classes of JTAG debuggers. Embedded (on-board) XDS110 debug probes are compatible with Code Composer Studio™ development environment version 6.1.0 and newer.

    Standalone XDS110 Debug probes (TMDSEMU110-U) require CCSv7.0.0 or later.
  • Charles Tsai said:
    XDS110 is the newest class of JTAG debuggers

    Charles - thank you - "at last" XDS enters the "modern world."       As my writing noted - I believed that there was "some chance" that 2017 performance - arrived (maybe) here...

    Yet - as it IS new - has it been fully/exhaustively tested/evaluated - under a wide range of conditions - so as "NOT TO REPEAT" the (too many to note)  JTAG Failures?     (i.e. "Does the crime continue" - yet the "weapon of choice" - shift?)