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.

[参考译文] CCS:XDS560 CCS4缓慢加载程序和单步执行

Guru**** 2378650 points
Other Parts Discussed in Thread: TMS320C6722B, TMDSEMU560V2STM-U, TMDSEMU560V2STM-UE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/837712/ccs-xds560-ccs4-slow-load-program-and-single-step

主题中讨论的其他器件:TMS320C6722BTMDSEMU560V2STM-UTMDSEMU560V2STM-UE

工具/软件:Code Composer Studio

我们在 Windows 7下有一个运行 CCS4的 XDS560 PCI 卡、用于调试 TMS320C6722B DSP 处理器。

它工作正常、但看起来非常慢。  加载程序(~300KB 大约需要一分钟)。  单步执行一行 C 代码大约需要3秒钟。

我们已经在几台计算机(Windows 7 - 32位)上执行此操作了几年、并且使用了2种不同的 XDSS560仿真器。  这就是我们配置/编程我们销售的数千个运动控制器板的方法。  奇怪的是、一种配置会在~ 1秒内加载程序、而另一种配置则需要~1分钟。  我们无法确定原因。  有一次、我们假设它与特定的 XDS560相关、但换用它们不会交换速度问题。  我们不再拥有"快速"计算机或配置。  我们尝试的所有东西都能正常工作、但速度很慢。

有人能不能告诉我们为什么有时速度快、有时数量级慢?

在 CCS4 |目标配置| TI XDS560 | JTAG 频率下、我们尝试了大多数选项、但速度没有任何变化

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

    您好!

    [引用 user="Tom Kerekes"]是否有人能告诉您为什么有时它速度快,有时数量级慢?

    遗憾的是、由于系统的各个组件的使用时间较长、因此您遇到了一个非常棘手的场景。  

    从您的帖子中、很遗憾无法再对两个主机进行差分分析、因此我只能猜测:  

    -从 XDS560到目标板的长电缆可能会显示老化的迹象-特别是在您的实验中,您只是交换 PCI 卡而不是电缆。
    -如果两台主机完全不同,这可以解释 PCI 总线子系统上访问时间的差异。
    -主机上运行的其他进程也可能影响 CCS 的性能。  
    -也许可以考虑在 Windows XP 中使用较旧的主机? 如果我能正确回忆、CCSv4从未在 Windows 7上经过全面测试、因此有可能出现角问题。  

    此外、CCSv4应该仍然在 CCS_base/common/uscif 下具有 xdsprobe 实用程序。 您可以按照以下文档进一步尝试挖掘并调试其功能。

    http://www.ti.com/lit/an/spra758a/spra758a.pdf 

    鉴于工具的使用年限、此时我的操作非常有限。 如果我发现相关信息、我将尝试查找任何其他详细信息并报告。  

    希望这对您有所帮助、

    拉斐尔

    附注一个额外的详细信息:如果此问题是阻止问题的、您始终可以购买 XDS560v2类调试探针。 您的器件+ CCS 组合支持该功能。  

    TMDSEMU560V2STM-U

    TMDSEMU560V2STM-UE

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

    您好、Rafael、

    非常感谢您的快速回复!   我意识到这都是老东西。   

    从 XDS560到目标板的长电缆可能会显示老化迹象-尤其是在您的实验中、您只交换了 PCI 卡而不交换了电缆。

    有趣、但我很确定电缆也是在没有任何速度变化的情况下交换的

    也许可以考虑在 Windows XP 中使用较旧的主机? 如果我能正确回忆、CCSv4从未在 Windows 7上经过全面测试、因此有可能出现角问题。  

    我相信两个系统(快速和慢速)都是 W7 32位或更高版本。  我的另一个问题是、我是否可以使用比 CCS4更新的具有 C6722B 目标的 XDS560 PCI 仿真器?

    此外、CCSv4应该仍然在 CCS_base/common/uscif 下具有 xdsprobe 实用程序。 您可以按照以下文档进一步尝试挖掘并调试其功能。


    好主意。 我尝试了-k 测试并获得了以下结果。 它显示了269905Hz、我认为这表明了它为什么这么慢。


    C:\Program Files\Texas Instruments\ccsv4\conuscif>xdsprobe -r -d XDS560 -p 0
    -k

    ---- [用于从 PLL 生成的 JTAG TCLK 输出的日志文件]---

    测试尺寸 COord MHz 标志结果说明
    ~~~~~~~~~~~~~~~μ A ~~~~~~~~μ A ~~~~~~~~~~~~~~~μ A ~~~~~~~~~~~~~~~~~~~μ A
    1无- 01 00 500.0kHz -不同的外部时钟
    2 512 ---- 1.000MHz O 良好值测量路径长度
    3 512 ---- 1.000MHz [O]良好值测试外部时钟

    在第一个内部/外部时钟测试中:
    预期频率为500000Hz。
    实际频率为269905Hz。
    增量频率为230095Hz。

    在第二个内部/外部时钟测试中:
    预期频率为0Hz。
    实际频率为0Hz。
    差值频率为0Hz。

    在扫描路径测试中:
    测试长度为16384位。
    JTAG IR 长度为54位。
    JTAG DR 长度为2位。

    IR/DR 扫描路径测试使用3个频率。
    IR/DR 扫描路径测试使用500.0kHz 作为初始频率。
    IR/DR 扫描路径测试使用1.000MHz 作为最高频率。
    IR/DR 扫描路径测试使用1.000MHz 作为最终频率。

    ---- [测量最终 JTAG TCLKR 输入的源和频率]----

    测得的 JTAG TCLKR 输入的频率为268.7kHz。

    JTAG TCLKR 输入和 TCLKO 输出信号的频率是不同的。
    目标系统可能会将固定或自适应 TCLKR 返回到仿真器。

    C:\Program Files\Texas Instruments\ccsv4\con\uscif>

    我发现更改 XDS560频率选项(和其他选项)似乎对速度或功能没有任何影响。  您是否知道这应该是如何工作的?   可能更高的速度失败了、然后又降到了低速度?  您是否知道兼容板数据文件是什么?

    谢谢

    TK

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

    TK、

    感谢您提供更多详细信息。  

    [引用 user="Tom Kerekes">我认为两个系统(快速和慢速)都是 W7 32位或更高版本。  我还有一个问题是、我是否可以使用比 CCS4更新的具有 C6722B 目标的 XDS560 PCI 仿真器?[/引述]

    XDS560 PCI 的当前版本以及 C6727器件中当然包含其支持文件。 其 Windows 驱动程序通常位于以下目录中:

    \ccsv8\ccs_base\emulation\windows\XDS560_drivers

    请注意、64位操作系统不支持此调试探针、我不确定目前如何进行验证和测试。 遗憾的是、使用此调试探针的客户数量很小、并且可能会有错误在雷达下方滑动。  

    [引用 user="Tom Kerekes">我发现更改 XDS560频率选项(及其他选项)似乎对速度或功能没有任何影响。  您是否知道这应该是如何工作的?   可能更高的速度失败了、然后又降到了低速度?  您是否知道兼容板数据文件是什么?

    XDS560执行一系列测试来评估面对 TCLK 速度时连接的可行性-因此、您得到的~250kHz 数字是通道能够可靠传播的数字。 但是、始终存在错误配置目标配置导致探头减速的可能性。  

    在上面的选项中、JTAG TCLK 频率(MHz)选项被设定为"自动"、这将使探头评估最高达到限制的最佳频率。 您可以尝试使用用户指定的值将其设置为 Fixed (固定)、并尝试各种频率。

    C6727器件可能限制的另一个选项是支持 TMS 上升沿的能力。 我要将选项  TMS/TDO 输出时序更改为下降沿为 JTAG 标准、然后重试、  

    实际上、我只是注意到一件事:您的配置设置为使用20引脚 Rev D 电缆、这种情况非常罕见。 您确定使用的电缆是这样吗?  

    https://www.blackhawk-dsp.com/store/12198.html 

    下面是一个可帮助您的简短视频:  

    https://youtu.be/mKxaztkCsYw 

    希望这对您有所帮助、

    拉斐尔

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

    您好、Rafael、

    我尝试了 CCS8、它的速度与 CCS4相同。  Windows 驱动程序看起来完全相同。  CCS8有"Test"按钮。  测试许多设置似乎对速度没有影响、它始终报告~250kHz。

    例如、这些设置:

    给出了以下报告。  并且仍然缓慢运行。   

    [开始:德州仪器 XDS560调试探针、20引脚 Rev D Cable_0]
    
    执行以下命令:
    
    %CCS_base%/common/uscif/dbgjtag -f %boarddatafil文件%-RV -o -F inform、logfile=yes -S pathlength -S integrity
    
    [result]
    
    
    --- [打印电路板配置路径名]---------------
    
    C:\Users\TK\AppData\Local\TEXASI~1\CCS\ti\
    0\0\BrdDat\testBoard.dat
    
    ---- [打印重置命令软件日志文件]-----------------
    
    此实用程序已选择了560/2xx 类产品。
    此实用程序将加载程序'XDS560.out'。
    库构建日期为2019年4月30日。
    库构建时间为'11:34:49'。
    库软件包版本为'8.1.0.00012'。
    库组件版本为'35.0.0'。
    控制器使用可编程 FPGA。
    旧的 VHDL 代码的版本号为'386336272'(0x17070610)。
    新的 VHDL 代码的版本号为'386336272'(0x17070610)。
    控制器的版本号为'6'(0x00000006)。
    控制器的插入长度为"0"(0x00000000)。
    CABLE + POD 的版本号为'2'(0x00000002)。
    CABLE + POD 的功能编号为"0"(0x00000000)。
    此实用程序将尝试重置控制器。
    此实用程序已成功重置控制器。
    
    ---- [打印重置命令硬件日志文件]-----------------
    
    扫描路径将通过切换 JTAG TRST 信号进行复位。
    控制器是 Nano-TBC VHDL。
    该链路是560类版本 B 固定使用的 OLD PLL 电缆。
    该软件配置为具有 Nano-TBC VHDL 功能。
    控制器将通过其寄存器进行软件复位。
    控制器在其 EMU[0]输入引脚上有一个逻辑1。
    控制器在其 EMU[1]输入引脚上有一个逻辑1。
    控制器将在输出引脚上使用上升沿计时。
    控制器无法控制输入引脚上的时序。
    扫描路径链路延迟已精确设置为"3"(0x0003)。
    实用程序逻辑之前未检测到功率损耗。
    实用程序逻辑当前未检测到功率损耗。
    
    ---- [用于从 PLL 生成的 JTAG TCLK 输出的日志文件]---
    
    测试尺寸坐标 MHz 标志结果 描述
    ~~~~~~~~~~~~~~~ ~~~~~~~~μ A ~~~~~~~~~~~~~~~μ A ~~~~~~~~~~~~~~~~~~~μ A
    1无- 01 00 500.0kHz -不同 iSIT 外部时钟
    2. 64 -------- o 良好的值测量路径长度
    3. 64 -------- [O]良好值测试外部时钟
    
    第一个内部/外部时钟测试结果为:
    预期频率为500000Hz。
    实际频率为274819Hz。
    增量频率为225181Hz。
    
    第二个内部/外部时钟测试未完成。
    
    在扫描路径测试中:
    测试长度为2048位。
    JTAG IR 长度为54位。
    JTAG DR 长度为2位。
    
    IR/DR 扫描路径测试使用1个频率。
    IR/DR 扫描路径测试使用500.0kHz 作为初始频率。
    IR/DR 扫描路径测试使用500.0kHz 作为最高频率。
    IR/DR 扫描路径测试使用500.0kHz 作为最终频率。
    
    ---- [测量最终 JTAG TCLKR 输入的源和频率]----
    
    测得的 JTAG TCLKR 输入频率为268.1kHz。
    
    JTAG TCLKR 输入和 TCLKO 输出信号的频率是不同的。
    目标系统可能会将固定或自适应 TCLKR 返回到仿真器。
    
    ---- [对 JTAG IR 和 DR 执行标准路径长度测试]-----
    
    此路径长度测试使用64个32位字的块。
    
    JTAG IR 指令路径长度测试成功。
    JTAG IR 指令路径长度为54位。
    
    JTAG DR 旁路路径长度测试成功。
    JTAG DR 旁路路径长度为2位。
    
    ---- [对 JTAG IR 执行完整性扫描测试]-----
    
    此测试将使用64个32位字的块。
    该测试将仅应用一次。
    
    使用0xFFFFFFFF 进行测试。
    扫描测试:1、跳过:0、失败:0
    使用0x00000000进行测试。
    扫描测试:2、跳过:0、失败:0
    使用0xFE03E0E2执行测试。
    扫描测试:3、跳过:0、失败:0
    使用0x01FC1F1D 进行测试。
    扫描测试:4、跳过:0、失败:0
    使用0x5533CCAA 进行测试。
    扫描测试:5、跳过:0、失败:0
    使用0xAACC3355进行测试。
    扫描测试:6、跳过:0、失败:0
    所有值均已正确扫描。
    
    JTAG IR 完整性扫描测试成功。
    
    ---- [在 JTAG DR 上执行完整性扫描测试]-----
    
    此测试将使用64个32位字的块。
    该测试将仅应用一次。
    
    使用0xFFFFFFFF 进行测试。
    扫描测试:1、跳过:0、失败:0
    使用0x00000000进行测试。
    扫描测试:2、跳过:0、失败:0
    使用0xFE03E0E2执行测试。
    扫描测试:3、跳过:0、失败:0
    使用0x01FC1F1D 进行测试。
    扫描测试:4、跳过:0、失败:0
    使用0x5533CCAA 进行测试。
    扫描测试:5、跳过:0、失败:0
    使用0xAACC3355进行测试。
    扫描测试:6、跳过:0、失败:0
    所有值均已正确扫描。
    
    JTAG DR 完整性扫描测试成功。
    
    [结束:德州仪器 XDS560调试探针、20引脚 Rev D Cable_0]
    

    是的、XDS560背面有20引脚电缆和20引脚连接器

    CCS8一直希望更新仿真器和 Blackhawk 软件-我希望这会有所帮助-但总是失败、并显示以下消息:

    无法找到某些站点。 有关更多详细信息、请参阅错误日志。
    无法读取 downloads.ti.com/.../content.jar 上的存储库。
    读取超时
    无法读取 software-dl.ti.com/.../content.xml.xz 上的存储库。
    读取超时

    更新软件遇到问题
    收集要安装的项目时出错
    会话上下文为:(profile=EPP、package.cpp、phy=org.eclipse.equinox.internal.p2.engine.phases.Collect、操作数=、action=)。
    无法读取 downloads.ti.com/.../com.ti.emulation.pack.win32_root.win32.win32.x86_8.3.0.00003上的存储库。
    读取超时

    如果您有任何其他想法、请告诉我、否则我们会缓慢地使用它。

    此致

    TK

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

    TK、

    在这方面、更新的问题无关紧要。 我怀疑特定于此主机(或可能是操作系统的较新实例)的内容可能会影响合理的速度。  

    鉴于调试探针在连接之前执行信号完整性测试、除了上面已经尝试过的测试外、几乎无法完成这些测试。 抱歉。

    此致、

    拉斐尔