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.

DLPC120-Q1: Control Program Programming Piccolo Flash Question

Part Number: DLPC120-Q1
Other Parts Discussed in Thread: UNIFLASH, TMS320F28023, CCSTUDIO, TMS320F28335

Dear Team,

Is it necessary to use XDS200's .ccxml file when using Program Piccolo SW (JTAG/UniFlash)?

Do I need to use Program Piccolo SW (JTAG/UniFlash) to program the bootloader into the MCU before using Program Piccolo SW (Cheetah SPI)? Or are Program Piccolo SW (JTAG/UniFlash) and Program Piccolo SW (Cheetah SPI) actually programming the same thing?

Is using Program Piccolo SW (JTAG/UniFlash) to program the .out file into the MCU the same as using the 'Piccolo SPI Bootloader SW' project in CCS to program it?

The following error message occurs when I use the Cheetah SPI:

"Application configuration structure should be in the beginning or end of the data being programmed"

When using JTAG/UniFlash (XDS200), the following error message occurs:


***** Texas Instruments Universal Flash Programmer *****
<START: 09:10:38 GMT+0800 (CST)>
> Configuring the Flash Programmer with the given configuration ...
> Flash Manager is configured for the following part: TMS320F28023
> Setting up the user Flash Options ...
> Connecting to the target for Flash operations ...
SEVERE: C28xx: Error connecting to the target: (Error -151 @ 0x0) One of the FTDI driver functions used during the connect returned bad status or an error. The cause may be one or more of: no XDS100 is plugged in, invalid XDS100 serial number, blank XDS100 EEPROM, missing FTDI drivers, faulty USB cable. Use the xds100serial command-line utility in the 'common/uscif' folder to verify the XDS100 can be located. (Emulation package 9.10.0.00080)
SEVERE: emulation failure occurred
SEVERE: Error connecting to the target: emulation failure occurred
> Error connecting to target.
<END: 09:10:44 GMT+0800 (CST)>
<Total Time: 5.829s>

<< If using XDS510, the following message will be displayed.>>


***** Texas Instruments Universal Flash Programmer *****
<START: 09:09:36 GMT+0800 (CST)>
> Configuring the Flash Programmer with the given configuration ...
SEVERE: Cannot read System Setup data from XML file D:\Texas Instruments-DLP\dlpc120\Bootloader eliza 20210511\HUD_Piccolo_Bootloader_SW_Release_V0.1(6)\Target Config Files\XDS510LC_F28023.ccxml
Error parsing file:
Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:The primary document entity could not be opened. Id=C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml while parsing file: C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml
SEVERE: Could not start server: DebugServer.1: Cannot read System Setup data from XML file D:\Texas Instruments-DLP\dlpc120\Bootloader eliza 20210511\HUD_Piccolo_Bootloader_SW_Release_V0.1(6)\Target Config Files\XDS510LC_F28023.ccxml
Error parsing file:
Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:The primary document entity could not be opened. Id=C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml while parsing file: C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml
org.mozilla.javascript.WrappedException: Wrapped com.ti.ccstudio.scripting.environment.ScriptingException: Could not start server: DebugServer.1: Cannot read System Setup data from XML file D:\Texas Instruments-DLP\dlpc120\Bootloader eliza 20210511\HUD_Piccolo_Bootloader_SW_Release_V0.1(6)\Target Config Files\XDS510LC_F28023.ccxml
Error parsing file:
Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:The primary document entity could not be opened. Id=C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml while parsing file: C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml (C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_core.js#49)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1705)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:157)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:201)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:74)
at org.mozilla.javascript.gen.c4._c1(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_core.js:49)
at org.mozilla.javascript.gen.c4.call(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_core.js)
at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:106)
at org.mozilla.javascript.gen.c1._c6(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_main.js:241)
at org.mozilla.javascript.gen.c1.call(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_main.js)
at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:106)
at org.mozilla.javascript.gen.c1._c0(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_main.js:21)
at org.mozilla.javascript.gen.c1.call(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_main.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:337)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2755)
at org.mozilla.javascript.gen.c1.call(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_main.js)
at org.mozilla.javascript.gen.c1.exec(C:\ti\ccs1200\ccs\ccs_base\scripting\examples\uniflash\cmdLine\uniFlash_main.js)
at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:500)
at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:422)
at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:388)
at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:379)
at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:176)
at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:97)
at org.mozilla.javascript.Context.call(Context.java:540)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:447)
at org.mozilla.javascript.tools.shell.Main.exec(Main.java:159)
at org.mozilla.javascript.tools.shell.Main.main(Main.java:137)
Caused by: com.ti.ccstudio.scripting.environment.ScriptingException: Could not start server: DebugServer.1: Cannot read System Setup data from XML file D:\Texas Instruments-DLP\dlpc120\Bootloader eliza 20210511\HUD_Piccolo_Bootloader_SW_Release_V0.1(6)\Target Config Files\XDS510LC_F28023.ccxml
Error parsing file:
Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:The primary document entity could not be opened. Id=C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml while parsing file: C:\ti\ccs1200\ccs\ccs_base\common\targetdb\connections\SD2000USB_Connection.xml
at com.ti.debug.engine.scripting.DebugServer$SessionFactory.<init>(DebugServer.java:158)
at com.ti.debug.engine.scripting.DebugServer.openSession(DebugServer.java:1257)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:142)
... 24 more

  • Hello Johns,

    Do you have a complete EVM or a custom board?

    We have an E2E FAQ here to introduce a guide for users to programming the EVM. Please read through the FAQ, I think it should be able to answer your questions.

    For the question of XDS200's .ccxml file, we can keep conversations in the other E2E thread https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1198480/dlp3030q1evm-fw-update-for-tms320.

    Regards,

    Lori 

  • Hi Lori

    Thank you for your response. Are you referring to this one?  

    [FAQ] DLPC120-Q1: DLP Auto HUD Gen 1.5 Resources

    I apologize for not reading the [FAQ] thoroughly. I have found the answer to my second question there.  

    So, Program Piccolo SW (JTAG/UniFlash) and Program Piccolo SW (Cheetah SPI) are performing the same function, just using different methods, right?

    I mainly want to know how to use a new TMS320f28335. Do I need to use CCS to write the bootloader program first before using the Program Piccolo SW (Cheetah SPI) feature?

    Regarding the flash erase wait time, I have tried increasing it from 2s up to 20s in increments of 0.2s, but the results are still the same. Do you have any other suggestions?

    I have a complete EVM on hand, but since we can't buy more EVMs to show customers, we are planning to make a similar EVM ourselves.

    Therefore, I would like to know in more detail the steps to update the FW on a completely blank TMS320f28335.

    Thanks for your time.

    Regards,

    Johns

  • Hi Johns,

    Please see the attached user guide and go to section 5 on reprogramming the EVM. This outlines the recommended method and order of programming a completely blank TMS320f28023. You should not need to use CCS and all steps can be performed with the DLPC120 Control Program software. Please note we only support this complete programming process with an XDS510LC or XDS100 debugger.

    8686.DLPU059_ACP_UsersGuide_March2018 (2).pdf

    Yes, you can program the main application through either SPI or JTAG as also outlined by the FAQ page.

    Also for programming the bootloader. Make sure the uniflash.bat file is pointing to the following code composer version if you are using an XDS510LC

    To program bootloader make sure you use older ccs

    https://www.ti.com/tool/download/CCSTUDIO/8.3.1.00004

    The newer CCS do not have correct support for XDS510 debugger.

    Thanks,

    Alex Chan

  • Hi Alexander,

    This is a great update method, but we do not have XDS100 or XDS510 on hand, and they are almost unavailable on the market. Could you please help us confirm if there is a solution that applies to XDS200?

    Thank you for your assistance.

    Regards,

    Johns

  • Hi Johns,

    Do you have trouble to use Cheetah SPI to programming the main application? 

    As Alex mentioned, we only support this complete programming process with an XDS510LC or XDS100 debugger. 

    We will need some time to look if there is a solution for XDS200, but we have not tested the MCU JTAG with XDS200.

    Regards,

    Lori 

  • Hi Lori

    Regarding the original issue discussed in this thread, we are encountering an error message when using Cheetah SPI to update the TMS320:
    "Application configuration structure should be in the beginning or end of the data being programmed."
    Do you have any insights on how to resolve this issue?

    Or am I using the wrong file?

    Also... Since we don't have XDS100 or 510, we can only use CCS and XDS200 to program Piccolo Bootloader. This topic will be discussed in another thread.(DLP3030Q1EVM: FW Update for TMS320)

    Thank you for your response and help.

    Regards,

    Johns

  • Hi Johns,

    When you using Cheetah SPI to program the main application, please try to use the main application .hex file under Application Code Binary folder. The default location is \HUD_Piccolo_SW_Release_v0.21-74\Application Code Binary.

    Regards,

    Lori 

  • Hi Lori,

    Thank you for your assistance. I was able to successfully update the MCU on the EVM.

    感謝您的協助,我已經可以順利更新EVM上的MCU了,謝謝。