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.

Implementing an In-Circuit Debug Interface (ICDI) for a Tiva based product

I'm getting close to taking my breadboarded product and converting it into a schematic for PCB layout and PCBA manufacture. The hardware works fine and the fundamental software is running, however there is one hitch. What is the best way to load and upgrade software, interface to the hardware for debugging and retain the valuable USB device port. The best way appears to implement an ICDI on the product.

Let me tell you a bit about the product. The product that has been developed is a low volume product so an extra $20 to include the ICDI on each product is not a problem. I should also point out that the product has two TM4C129x microcontrollers with one microcontroller being the executive processor. I'll need to software download to both microcontrollers. It would be nice to have debug facilities for both microcontrollers and I need one USB device port for the product's use. The product also has a USB host for data logging onto a USB memory stick, but this comes directly off one of the Tiva microcontrollers.

There appears to be two ways to implement the ICDI:

1) Use the FTDI FT2232D chip and a controlled switch (or a FT4232H, which is the quad version of the FT2232D). This requires a support 93C46 EEPROM, 6 MHz crystal and three 74LVC125A buffer/driver/transceiver. Quiet a lot of circuitry! This is the method used on the LM3S9D96 Development Kit

2) Use a Tiva microcontroller plus crystal with appropriate software. This is the method used on the Tiva Launchpad.

The FTDI chip costs more than the Tiva microcontroller and then there's all the extra support circuitry. The ideal solution appears to be to use a Tiva microcontroller, particularly considering that I need to service tow microcontrollers.

The problem is I need to the software to make it work. Is the source code available? Can it be made available? Everyone who produces a Tiva based product will have to address the issue of how to download new softare. Having debug capability and an extra USB device port are great free bonuses. Would be a great marketing move.

Is there any reason for not releasing the Tiva-based ICDI software?

  • BUMP: Any chance of getting the source code for the ICDI functionality?

  • Hi Vito,

    according to a post by a TI Member in this thread, the source code and not even the binary images of the ICDI are meant to go public.

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/216275.aspx

    Cheers,

    Janos

  • Hi Janos,

    Nice to see a comment to my post.

    The "source code and not even the binary images of the ICDI are meant to go public" is a real pity. For our in-house application it would be great to include an ICDI at no external connector cost (and very little total cost). This means that development can occur on any of the units easily.

    I can't see why TI does not have the ICDI source code as a developer resource. The code exists and I can't see a downside for TI - but then I may be missing something. In fact, it will help increase Tiva popularity - which after the last 12 month Stellaris debacle would be most welcome. Think of it as a "here's the ICDI code, thanks for sticking with us while we switched from Stellaris to Tiva!".

    Does anyone see a reason (apart from support costs, but then it can be released "unsupported") for not releasing the ICDI source code?

    I can still do what I want by copying the circuitry of the LM3S9D96 Development Board but this involves many more components. Far from elegant!

    Maybe I'll ask TI directly if I can get the source code for in-house use under an NDA.

    Surely I'm not the only one that sees the value of including an ICDI with a developed product.

    Regards,

    Vito

  • Janos said:
    according to a post by a TI Member in this thread, the source code and not even the binary images of the ICDI are meant to go public.

     Hi Janos, that thread speak about Stellaris special part, Stellaris is now completely dead....

      Interesting the open source project, too much work is needed to port to a Tiva part, so in that way I prefer port GDB proxy to use Ethernet, fast debug with isolation too.

     None try'd to read from ICDI chip JTAG?

  • Vito and Romano,

    In fact somewhere on the web there is  an open-source software for a JTAG/SWD tool. It is called CMSIS-DAP and comes with CMSIS version 3 ( or can be found on ARM site).  But even with this, could be some problems using it successfully. Other brands made some efforts to adopt it, do not know if the actual ICDI comply with. Look also to this site: www.mbed.org.

    Petrei