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.

TMS320F28069: UNIFLASH with JTAG daisy chain

Part Number: TMS320F28069
Other Parts Discussed in Thread: UNIFLASH

Hello,

I am attempting to use UNIFLASH with an XDS200 to program a chain of C2000s.  I have a ccxml file that can program all 4 devices from CCS, but when I use this in UNIFLASH it seems to only program the first one.  Is there a setting I'm missing?  Or does UNIFLASH not support this?

I found this post:

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/578278

which points to this post:

https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/364225/1279839#1279839

where the original poster gets redirected to post a new thread, but neither answers the question.

Thanks!

  • Hi James,

    As mentioned in the below posts, Uniflash doesn't support daisy chained devices.

    e2e.ti.com/.../674018
    e2e.ti.com/.../2168492

    Hope it answers your question.

    Thanks,
    Katta
  • Thanks for the reply!

    That's unfortunate, do you know if there are any plans to support it? Are there any other, more production-friendly ways of programming a daisy chained set of devices? Even a third party utility?

    We're trying to switch from our current Signum emulators that are a bit finicky and require a command-line based batch file to program all 4 device in the chain.
  • Also, is there at least a way to specify which device in the chain is being loaded? I see the command line utility allows that as an argument, but does the UNIFLASH GUI allow it?
  • Hi James,

    The support for daisy chain is not present in command line utility too. Can you please show which command you are referring to?

    Thanks,
    Katta
  • Yes, I see that programming an entire daisy chain is not possible with the command line utility either.

    This tool:

    http://processors.wiki.ti.com/index.php/UniFlash_v4_Quick_Guide#Standalone_Command_line_tool

    allows you to specify a core (with the --core argument).  With a ccxml file configured with all 4 devices, I appear to be able to specify which of the 4 main cpu cores to load using that argument.

    Is there a way to specify this argument from the UNIFLASH GUI?

    This isn't required, but ideal.

    Are there ANY utilities available at all (TI or not) that allow programming of daisy chained devices?

    If I can get the command line utility to at least load each core, I can just write a batch file to call it 4 times with the correct arguments.

    Additionally, I'm trying to use the --flash argument so the program is stored in flash memory, but when I reset the device the loaded file is gone (it reverts to the previous version).  Does the flash argument not work, or am I misunderstanding its usage?  An example of my usage is here (loading the 4th device):

    dslite --config=<configuration file for daiy chain>.ccxml --log=output.txt --verbose --core=6 --flash <filename>.out

    Thanks.

  • Figured out the trouble with flashing the file, I was just using an out file configured for RAM operation.

    The rest of my questions still stand:  are there any officially supported ways of flashing daisy chained devices (TI or third party)?

  • James,

    As you noted, you should be able to load to each individual core using the UniFlash CLI (dslite) by using the --core command. You should now be able to write a batch script that runs dslite 4 times to program your 4 cores one after another.

    Another option is to use Debug Server Scripting (DSS). With DSS, you should be able to write a script that creates a session for each of your cores, and load programs to it. Like dslite, it would still be loading it one after another (instead of in parallel), but you have a little more control on the flow with DSS (ie; when to connect/disconnect, issue a run or reset, etc.)

    To see if DSS is right for you, please read more about it here: processors.wiki.ti.com/.../Debug_Server_Scripting

    DSS is included with CCS as well as UniFlash (although with UniFlash, we do not include a version of the JRE that is needed to run DSS, so you will need to have it installed already).

    Lastly, the reason why 4 cores do not show up in the UniFlash GUI when you open your ccxml is because of a limitation with the "Import CCXML" feature in the UniFlash GUI. We only support basic CCXMLs at this point, and therefore it does not recognize that there are multiple cores available in the CCXML. The GUI itself does support mult-core devices (for example, if you configure for the C2000 TMS320F2837xD devices).

    Thanks,
    Ricky
  • Ok great, thanks for the answers Ricky.  I'll look into DSS and the batch file.  Too bad neither UniFlash nor any other GUI-based tools support this feature.