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:CCS 中的菊花链目标配置

Guru**** 2558250 points
Other Parts Discussed in Thread: TMS320F28069, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1036750/tms320f28069-daisy-chain-target-configuration-in-ccs

器件型号:TMS320F28069
主题中讨论的其他器件: UNIFLASH

我们有一块包含6 个 TMS320F28069芯片的电路板。 JTAG。 一些跳线用于在单独的闪存和菊花链之间切换。 目前、为了进行测试、我们为菊花链设置了芯片5和6、而其余芯片仍然是独立的。  

这意味着、除 TDO 和 TDI 之外的常见连接、其中芯片5 TDI 连接到连接器的 TDI、Chip5的 TDO 连接到 Chip6的 TDI、而 Chip6的 TDO 连接到连接器的 TDO。

Code Composer Studio 6.1.0.00104

使用的调试器是 XDS200

编程目前菊花链之外的一个芯片可以正常工作、没问题。 因此、我向目标配置中添加了另一个芯片、并连接到通用连接器:

根据本视频 :https://www.youtube.com/watch?v=DgMRth5SR1Q

这应该是"只能起作用"。 但是、它不会:

我无论如何都不明白。 如果我想在不同的器件上加载不同的文件、该怎么办? 我如何指定哪个文件进入哪个器件?

"测试连接"工作正常。  
"JTAG DR 完整性扫描测试成功。"。 它似乎并未对两者进行实际测试、但我不确定。

如果我将 Chip6上的 BOOT 引脚保持在低电平、则测试连接失败、因此在正常情况下、环路似乎已完成。

感谢你的帮助。

此致、

Zac

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

    Zac、

    我认为这可能与此帖子相关、特别是在发现 https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/686178/ccs-tms320f28377d-jtag-in-daisy-chain 错误的地方

    您是否可以下载 CCSv10并查看您是否仍然遇到此问题?

    最棒的

    Matthew

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

    您好、Matthew、

    感谢您的回复。 我遇到了这个问题、但他们能够刷写链中的第一个 CPU。 在本例中、调试器初始化失败。  

    在任何情况下、我都会下载最新的 CCSv10并重试。 在板上刷写一个链外单芯片仍然有效、JTAG 扫描测试仍然通过、但我尝试使用双配置刷写时的错误现在是不同的!

    C28xx:GEL 输出:
    器件校准未完成、检查器件是否已解锁并重新校准。C28xx:GEL 输出:
    器件校准未完成、检查器件是否已解锁并重新校准。C28xx:闪存编程器:器件已锁定或未连接。 操作已取消。
    C28xx:文件加载程序:内存写入失败:未知错误
    C28xx:GEL:文件:C:\Dev\redded\Code.out:加载失败。

    芯片的状态与我成功刷写的芯片相同、因此不应以任何方式锁定。

    我尝试使用单个目标配置连接到链的中间;这也不起作用(虽然我没有真正期望它、第一个芯片的 TDO 可能仍与第二个芯片的 TDI 混淆)。

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

    好的、看起来该芯片被某种程度上锁定了。 我们很难将其擦除、菊花链现在正在通过 CCS 工作。 下一步是尝试通过脚本自动执行该过程。 您是否建议使用 UniFlash 解决方法、或者我们是否应该通过 CCS 触发它?

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

    它似乎在使用 UniFlash;我将单独工具调用4次、每个内核调用一次。 是否可以在一次调用中对每个芯片的2个内核进行编程?

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

    Zac、

    我认为这篇 E2E 文章提供了一些有关如何使用 Uniflash 完成任务的想法;请告诉我这是否是适合您设置的正确途径。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1017222/tms320f28069-uniflash-jtag-daisy-chain-programming-for-multiple-devices

    最棒的

    Matthew

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

    谢谢、这似乎对我们有所帮助。 我们仍然有一些问题、但我们不确定它们是电气的、还是芯片不断被锁定或其他问题。

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

    Zac、

    当您编程/连接 JTAG 调试器时、我建议将器件置于"等待引导模式"。  

    这些器件的代码安全模块内有一个特性、当 CPU 从一个安全区域(所有闪存、以及某些 SRAM)获取时、如果尝试仿真访问、此特性将强制断开 JTAG 连接。  我可以看到、如果链中有多个器件、则无法确定当 Uniflash 尝试连接到每个器件时代码从何处执行。

    我尝试附加一张引导模式引脚/设置的图片、但遇到了一些问题。  您可以在器件数据表 的第46页找到该图:https://www.ti.com/lit/ds/symlink/tms320f28069.pdf

    最棒的
    Matthew

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

    好的、

    结果、由于布线/电线长度较长、编程大量芯片无法正常工作。 在我们缩短这些时间后、它就可以工作了。

    感谢 Matthew 的帮助。