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.

[参考译文] UNIFLASH:Uniflash can't read file.ccxml 和 TMS570&TMS320(串联)

Guru**** 2964790 points

Other Parts Discussed in Thread: TMS320F28377D, UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1647836/uniflash-uniflash-can-t-read-file-ccxml-with-tms570-tms320-in-series

器件型号: UNIFLASH
线程中讨论的其他器件: TMS320F28377D、

大家好!  

 

我有一个与 TMS320F28377D 串联的 TMS570LC43。 我需要对两个微控制器进行编程。 此外、我同时使用 TMS320 的 CPU1 和 CPU2。

我有三个不同的工程、可以加载每个内核。

但为了简化加载过程、我只想使用 file.out。

为此、我使用 uniflash、但使用 file.ccxml 时无法加载 TMS320 内核。 TMS570 没有问题。

这是 ccxml 文件的组织方式。 不是目标的每个内核都会被旁路。  

TMS570.CPU2

image.png

TMS320.CPU1

image.png

 

感谢您提供有关加载这些 CPU 的帮助。

 

提前感谢您!

 

最好的考虑

Louis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Louis:

    我对延迟的回复表示歉意!

    为此、我使用 uniflash、但使用 file.ccxml 时无法加载 TMS320 内核。 TMS570 没有问题。

    请您再次确认此问题、那么您的问题不是 TMS570 的问题吗? 它与 TMS320 搭配使用吗?

    因为我只是 TMS570 的专家、所以对于 TMS320、我需要重新分配另一位 BU 专家。

    --
    此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Jagadish!  

    实际上、我同时使用 TMS570 和 TMS320。 它们位于同一电路板上。

    我的问题似乎来自无法处理我的文件的 Uniflash。 Uniflash 是否有专门的论坛或者该软件的专家?

    我用 Claude 更改 ccxml 文件,实际上当我加载 cpu1.out 时,我有这个错误:  

    与目标字节序不匹配、未加载。 检查工程构建选项和目标配置文件 (ccxml)。

    此错误很难解决、因为 ccxml 不包含有关字节序的信息。 此外、CPU1.out 可由 CCS 完美加载。 因此、我使用小端字节序这一事实不存在不匹配问题。

    下面是我的 ccxml 的内容:  




    <instance id=“USB XDS110 Texas Instruments Debug Probe“
    XML_VERSION=“1.2“
    xmlpath=“connections“
    xml=“TIXDS110_Connection.xml“
    href=“connections/TIXDS110_Connection.xml“
    DESC=“USB XDS110 Texas Instruments 调试探针“/>

    <instance id=“drivers“ xml_version=“1.2“ xmlpath=“drivers“
    xml=“tixds510icepick_c.xml“ href=“drivers/tixds510icepick_c.xml“/>
    <instance id=“drivers“ xml_version=“1.2“ xmlpath=“drivers“
    xml=“tixds510cs_dap.xml“ href=“drivers/tixds510cs_dap.xml“/>
    <instance id=“drivers“ xml_version=“1.2“ xmlpath=“drivers“
    xml=“tixds510cortexR.xml“ href=“drivers/tixds510cortexR.xml“/>
    <instance id=“drivers“ xml_version=“1.2“ xmlpath=“drivers“
    xml=“tixds510c28x.xml“ href=“drivers/tixds510c28x.xml“/>
    <instance id=“drivers“ xml_version=“1.2“ xmlpath=“drivers“
    xml=“tixds510cla1.xml“ href=“drivers/tixds510cla1.xml“/>
    <instance id=“drivers“ xml_version=“1.2“ xmlpath=“drivers“
    xml=“tixds510cs_child.xml“ href=“drivers/tixds510cs_child.xml“/>

    <instance id=“TMS570LC43xx“ XML_version=“1.2“
    xmlpath=“devices“ xml=“tms570lc43xx.xml“
    href=“devices/tms570lc43xx.xml“ desc=“TMS570LC43xx“/>
    <device XML_version=“1.2“ id=“TMS570LC43x“
    partnum=“TMS570LC43xx“ HW_REVISION =“1“
    DESCRIPTION=“TMS570LC43xx“>
    <router XML_version=“1.2“ id=“IcePick_C_0“
    hw_revision=“1.0“ isa=“ICEPICK_C“
    Description=“ICEPick_C Router“>



    <instance id=“TMS320F28377D“ XML_version=“1.2“
    xmlpath=“devices“ xml=“tms320f28377d.xml“
    href=“devices/tms320f28377d.xml“ desc=“TMS320F28377D“/>
    器件 XML_VERSION=“1.2“ id=“TMS320F28377D“
    partnum=“TMS320F28377D“ HW_REVISION=“1“
    Description=““>
    <router XML_version=“1.2“ id=“IcePick_C_0“
    hw_revision=“1.0“ isa=“ICEPICK_C“
    Description=“ICEPick_C router“>


    <CPU XML_VERSION=“1.2“ id=“C28xx_CPU1“
    HW_REVISION =“1.0“ ISA=“TMS320C28XX“
    DESCRIPTION=“C28xx CPU1“>


    <CPU XML_VERSION=“1.2“ id=“CPU1_CLA1“
    HW_REVISION =“1.0“ ISA=“TMS192C2007“
    DESCRIPTION=“CLA1 Accelerator“>



    <cpu XML_version=“1.2“ id=“cs_child_0“
    hw_revision=“1.0“ isa=“cs_child“
    description=“cs_child“>




    CPU XML_VERSION=“1.2“ id=“C28xx_CPU2“
    HW_REVISION =“1.0“ ISA=“TMS320C28XX“
    DESCRIPTION=“C28xx CPU2“>



    <CPU XML_version=“1.2“ id=“CPU2_CLA1“
    HW_REVISION =“1.0“ ISA=“TMS192C2007“
    DESCRIPTION=“CLA Accelerator“>



    <cpu XML_version=“1.2“ id=“cs_child_1“
    hw_revision=“1.0“ isa=“cs_child“
    description=“cs_child“>







    非常感谢您的帮助。

    谢谢!

    最好的考虑

    Louis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Louis:

    很抱歉延迟的响应、我尝试在 uniflash 上循环相关的专业知识。

    --
    此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Louis:
    对此问题、我们会尽快答复您

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Louis:

    您使用的是 UniFlash GUI 还是 CLI?

    UniFlash GUI 存在一个已知的限制、限制只能访问给定 ccxml 文件的第一块板、因此我认为您只会看到 GUI 中显示的 TMS570LC43xx。 这是我们期待在未来版本中解决的问题。

    我认为您还应该能够使用 UniFlash CLI 访问链中 2 个器件的内核。

    请试用一下、如果您有其他问题、请告知我它是否适合您。

    谢谢、

    Ricky

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    很抱歉、延迟的回复。

    我已经尝试了 CLI 版本、但我不明白。 我成功地将第一个 TMS570 加载到菊花链中。 但是、当涉及到装载 TMS320 的 CPU1 时、我收到以下错误:

    知道我使用了 Code Composer 使用的 ccxml 文件和 Code Composer 生成的 file.out、我对如何发生字节序错误感到困惑。

    你有什么想法吗?

    我用使用的脚本完成我的答案:  

    谢谢、

    Louis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Louis:

    我成功地将 TMS570(第一个 TMS570)加载到菊花链中。 但是、当谈到装载 TMS320 的 CPU1 时、我收到此错误:

    菊花链环境中除第一个外的任何器件的闪存调试存在已知问题:

    https://sir.ext.ti.com/jira/browse/EXT_EP-13475

    CCS 20.4.1 在调试器中引入了一个修复程序。 不幸的是、CCS 20.5.0 中出现了回归。

    没有可用的具有此修复程序的 UniFlash 版本。 因此您必须等到它在调试器中再次修复、然后 UniFlash 选择该修复。  

    谢谢

    Ki   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    感谢您的答复。

    这很奇怪、因为我使用的 是 CCS 20.0.2、并且可以在不发出 TMS320 的两个 CPU 的情况下加载。 为此、我使用调试器显示所有内核、连接到 CPU 并在两个 CPU 上设置断点后加载 file.out。

    您共享的问题报告、即使在调试模式下、用户也无法与菊花链内的器件连接。

    菊花链配置错误的根源是什么?  

    您是否知道另一种方法来加载程序与这种类型的配置,用于生产数百个单元?

    感谢你的帮助

    Louis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    太奇怪了 、因为我使用的是 CCS 20.0.2、可以毫无问题地加载 TMS320 的两个 CPU。 为此、我使用调试器显示所有内核、连接到 CPU 并在两个 CPU 上设置断点后加载 file.out。

    您是否在 RAM 中加载和设置了断点? RAM 调试没有问题。

    您共享报告的问题是、即使在调试模式下、用户也无法与菊花链内的设备建立连接。

    否、您可以连接到设备、而不会出现问题。 您可以在 RAM 中加载和调试代码。 问题在于闪存调试。

    您是否知道另一种方法来加载具有此类配置的程序、以便生产数百台设备?

    您能否尝试 CCS 20.4.1 并确认可以使用该版本进行刷写? 如果是、则可以使用该版本进行刷写(也许可以使用 DSS 来实现自动化)。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    感谢您的 DSS 提示、我会尝试一下。

    调试器没有问题。 我可以在调试运行时的任何位置放置断点。  

    老实说、我更喜欢保留干净版本的 CCS、而不是尝试多个版本的 CCS。 此外、CCS 不是问题。

    感谢您抽出宝贵的时间进行解答。

    Louis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ]我可以在调试运行时的任何位置放置断点。  [/报价]

    澄清一下、该问题只会影响硬件断点。 软件断点根本没有问题。 如果您将程序加载到 RAM 中、并在 RAM 中运行和调试代码、则根本没有问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、感谢您的澄清。 我实际上使用了硬件断点、它们没有问题。 我的问题是用于自动执行菊花链配置中 TMS 器件加载过程的工具。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有趣的是、硬件断点正在为您效劳。 我前面提到的问题影响了菊花链次级器件上仅工作 20.4.1 的硬件断点。 此行为还会影响需要相关硬件资源的其他调试操作、甚至可能发生刷写。 无论如何、请使用 CCS 20.4.1 尝试 DSS、然后查看它是否适合您。