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.

[参考译文] TCI6638K2K:用于 TCI6638K2K 器件的 CTOOLS_UCLib

Guru**** 2556730 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/953344/tci6638k2k-ctools_uclib-for-tci6638k2k-device

器件型号:TCI6638K2K
主题中讨论的其他器件:TCI6630K2L

您好!

我想在我的项目中设置 CTOOLS_UCLib。

我目前正在使用 TCI6638K2K、根据我在文档中的理解、该库支持该器件。 "CTOOLS_UCLib 是 Keystone 系列器件(C66xx、TCI66xx、66AK2Hxx、66AK2Exx 和 TCI6630K2L)的库"

但是、对于上述器件、没有兼容的示例项目。 为 TCI66xx 器件系列提供了唯一的 TCI6630K2L 示例项目。

  

是否有任何其他下载链接包含 TCI6638K2K 示例项目?


或者、我能否配置 TCI6630K2L 项目以获取 TCI6638K2K 的示例?
如果是、我该怎么做、哪些器件必须重新配置?

谢谢、

此致!  

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

    您好、感谢您的问题。  

    遗憾的是、目前我们对 K2K 几乎没有什么可以做的、请访问 :https://e2e.ti.com/support/processors/f/791/t/809582

    也就是说、K2K 和 K2H 的嵌入式调试支持是类似的、我认为您应该能够使用 K2H (C66AK2Hxx)库和项目来代替 K2K 特定版本、从而取得进展。 请注意、您可以通过安装最新的 K2处理器 SDK (例如 https://www.ti.com/tool/PROCESSOR-SDK-K2H)来访问最新的 CToolsLib。
     
    请告诉我是否还有其他事情可以做。

    谢谢、
    --杰森

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

    您好 Jason、

    我从 https://www.ti.com/tool/PROCESSOR-SDK-K2H 下载了 CTOOLS_2_2_0_0

    我对66AK2E 器件应用了下面给出的指令步骤:

    TMS320C66AK2Exx:
    要链接的库:CTOOLS_uclib.c66AK2Exx_elf、CPT.66ak2exx_elf、dsptrace.c66xx_elf、tietb.c66ak2hxx_c66x_elf、aetlib.l66_elf 和 stm.c66xx_elf
    *编译器预包括标志:C66AK2Exx 和_STM_Logging

    我的软件应用程序构建无任何错误。 但是、当我尝试添加时

    "CTOOLS_Result CTOOLS_STAT_PROF_START ( uint32_t SamplingPeriod )"此函数用于启动统计分析。

    我遇到了以下错误:

    未定义的第一个       参考
    符号             文件中
    ------             --------
    CTOOLS_memAlloc   C:/ti/ctoolslib_2_2_0_0/packages/ti/Ctools_UCLib/lib/ctools_uclib.c66AK2Exx_elf.lib
    CTOOLS_memFree   C:/ti/ctoolslib_2_2_0_0/packages/ti/Ctools_UCLib/lib/ctools_uclib.c66AK2Exx_elf.lib

    错误#10234-D:未解析的符号仍然存在

    我应该如何克服这些误差?

    在哪里解出"CTOOLS_STAT_PROF_START"函数?

    谢谢、Enes

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

    您好、Enes、

    出于本练习的目的、这可能无关紧要、但您可能希望使用 K2H (C66AK2Hxx)而不是 K2E。

    至于您的问题:CTOOLS_STAT_PROF_START 是在 CTOOLS_uclib_STAT_PROF.c 中定义的、但您看到的错误是因为未定义"CTOOLS_memAlloc"和"CTOOLS_memFree"。   CtoolsLib 将可能因操作系统或目标而异的管理函数整合到操作系统抽象层(OSAL)中。  ctools_uclib_osal.h (包含在 CTOOLS_uclib_stat_prox.c 中)中描述的该层需要由用户创建。  ctools_uclib_osal.h 仅将这些定义为 extern。   

    您可能 能够找到一些实现示例(例如、从 SDK 安装中:demos/image_processing/ipc_instruming/src/cToolsHelper.c)、但最终可以在您使用的环境中执行最佳的操作。  

    --杰森

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

    您好 Jason、

    我在 项目中竞争了 CTOOLS_UCLib 的定制。

    我使用 CTOOLS_STAT_PROF_START 和 CTOOLS_dsptrace_init 函数、通过使用 XDS560 Pro 示踪剂将跟踪数据漏极到统计分析中。

    即使我在应用程序运行时执行这些函数、我也找不到任何数据。

    据我所知、当我完成数据收集后、我必须执行 td.exe 将 DSP 数据解码为包含该数据的.bin 格式、并保存为 XDS560_RecTracedData.bin。

    然后、我必须在命令行中执行下面的命令

    td.exe -bin XDS560_RecTraceData.bin -app | trace_stat_profile.exe --func_input <.csv 文件名>[-delt ]

    但是、我看不到任何数据。

    然后、我尝试了以下说明中给出的步骤、这些步骤来自以下文档:

    但是、我无法在 互联网上找到统一断点管理器(UBM)插件、就像在 CCS 中一样。

    然后、我按照以下步骤操作。 但是、我无法执行跟踪控制、回复了"不支持跟踪"消息。

     

    我尝试了三种不同的方法来使用 XDS560 Pro 示踪剂捕获这些数据。

    如上例所示、我应该如何获取统计分析数据并将其可视化到图形中?

    Enes、谢谢

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

    您好、Enes、

    您可以通过 ETB 在片上捕获跟踪、也可以通过 Pro Trace 接收器在片外捕获跟踪。  您似乎有一个 XDS560 Trace Pro 接收器、并希望通过该接收器进行捕获。  在这种情况下、通常可以通过 CCS 设置跟踪作业-但似乎您在这方面遇到了一些问题。  

    您能否确认您使用的 CCS 和 emupack 版本?

    在 CCS 的最新版本中、您可以通过以下方式检索此数据:

    1] Help->About Code Composer Studio :您应该能够在此窗口中确定您正在使用的 CCS 版本

    2] Help->About Code Composer Studio-> Installation Details:在此窗口中向下滚动到"TI Emulators",您应该可以在此处找到该版本。   

    作为参考、我刚刚尝试了 CCS 10.0.0.00010、其中包含 TI 仿真器9.1.0.00001、并且能够在 K2K 上毫无问题地配置跟踪作业。

    请注意、在较新版本中、您需要的跟踪控制可通过"Tools->Hardware Trace Analyzer->Custom Core Trace (工具->硬件跟踪分析器->自定义内核跟踪)"进行访问。   如果您看到"Trace Control"选项、则可能需要考虑安装程序为较新版本的 CCS。   

    谢谢、

    --杰森

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

    您好 Jason、  

    是的、我希望收集跟踪数据以查找统计分析。 我有 XDS 560 PRO Tracer。

    我准备 了 CTOOLS_STAT_PROF_START、CTOOLS_DSP_INIT 函数、并且可以在器件运行时调用它们。

    但是、我无法看到任何日志或 bin 文件、这些日志或 bin 文件应该具有跟踪数据。

    我应该怎么做?

    如何调用这些函数?

    我目前正在处理:

    Code Composer Studio 版本:10.1.1.00004

    TI 仿真器9.2.1.00042

    我还尝试使用 工具>硬件跟踪分析器>统计函数分析来查看统计分析。

    但是、"无法在 C66xx_0上运行分析器。 原因:没有足够的可用资源"错误消息已回复。

    谢谢、Enes

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

    您好、Enes、

    关于'.bin 文件':

    ctoolslib 库函数不会创建.bin 文件。 支持两种接收器模型:通过嵌入式跟踪缓冲器(ETB)进行片上收集、通过专业跟踪接收器进行片外收集。 ETB 有一个变体、其中 EDMA 可用于将来自 ETB 的跟踪数据假脱机到映射到 SOC 的存储器中。   

    如果您在片外发送跟踪数据、则需要配置专业跟踪接收器并启用记录-这不是可以通过库调用来完成的、因此您必须通过 CCS 来完成。  在本例中、CCS 将创建.bin/.tdf 文件。   

    关于您在尝试调用“Matistical Function Profiling”时收到的错误:  

    当 CCS 尝试对片上资源进行编程并且这些资源已在使用或保留供使用时、会生成"There are not enough resources available (可用资源不足)"消息。  我怀疑您在目标应用程序已保留资源(即调用 ctoolslib 库之后)之后尝试运行"统计函数分析"。  在应用程序有机会运行之前、您当然可以尝试重置目标并从 CCS 调用"统计函数分析"。  

    或者、您可能还想尝试使用"自定义内核跟踪"而不是"统计函数分析"、同时在应用程序中保留 ctoolslib 调用。  在这种情况下、您仍希望在运行目标应用程序之前开始录制:

    1. tools->Hardware Trace Analyzer->Custom Core Trace
    2. 从"Custom Core Trace Configuration"窗口:
    1. 将"传输类型"更改为 Pro Trace 并展开"接收器/传输设置"
    2. 我建议您保留此处的默认设置。  侧注: 较大的缓冲区大小往往会以较高的成本增加解码时间、因此请注意更改该设置。
    3. 单击"Advanced Settings"(高级设置)
    • 从"高级属性":
      1. 选择"3DEXPERIENCE Workaround"条目、然后单击窗口左侧的红色"X"图标
      2. 单击"OK"
    • 在"Custom Core Trace Configuration"窗口中:单击"Start (开始)"
    • 此时、TRACE PRO 接收器将开始校准过程、这可能需要一两分钟的时间。  完成该操作并打开跟踪查看器后、您可以运行目标应用程序。

    谢谢、

    --杰森

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

    您好 Jason、
    感谢您的快速响应、


    我的主要目标实际上包括2个阶段:


    1.我想使用跟踪数据、XDS506PRO Tracer 和 Code Composer Studio 查看统计性能评测结果。
    2.捕获跟踪数据以进行统计分析、而无需使用任何跟踪器或 CCS、我希望将系统集成到我的现场应用中。


    为此、我添加了.lib 项目和一些其他更改(osal.h 等)、并添加了以下可在应用程序运行期间调用的函数:
    CTOOLS_dsptrace_init ()
    CTOOLS_STAT_PROF_START ()
    CTOOLS_STAT_PROF_END ()
    CTOOLS_dsptrace_shutdown ()

    感谢您的帮助、我完成了第1阶段、现在希望将第2阶段集成到我的设备中、这些设备将分发到现场。


    根据 CToolsUCLib index.html 的理解、我可以通过3种方式捕获和导出跟踪数据:
    使用 CPU 的 DSP ETB 消耗
    使用 EDMA 的 DSP ETB 消耗
    XDS560 PRO 或 XDS560T 等外部仿真器


    我是否可以使用第一种或第二种方法来实现所述的应用?


    如果答案是否定的、我如何在没有任何跟踪器的情况下捕获跟踪数据、并存储数据以供以后调查?


    如果是、我该怎么做(我是否需要自定义项目的其他部分)?

    谢谢、

    Enes

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

    您好、Enes、

    很抱歉耽误你的时间。  根据您的描述、我建议#2 (使用 EDMA 的 DSP ETB 漏极)。   

    处理器 SDK 包含一些可解决您的问题的文档。  请参阅:ctoolslib _2_0_0/packages/ti/ETBLib/doc/html/edma3_page.html

    如果有其他任何我可以帮助您的事情、请告诉我。

    谢谢、

    --杰森

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

    您好 Jason、

    通过使用 C 命令、是否有任何方法可以在 ARM 内核中实现这些类型的应用?

    我使用 ProTracer 和 CCS>硬件跟踪分析器> PC 跟踪调查了 ARM 内核跟踪数据。

    我的问题是、我能否使用 C 函数收集这些数据、例如:
    CTOOLS_ETB_INIT
    CTOOLS_PPCT_START_NOW 等


    ctoolslib _2_0_0/packages/ti/CTOOLS_UCLib/doc/CTOOLS_UCLib_html/_p_c__trace.html

    根据上述文档的理解、由于 DSP ETB 缓冲区(PC 跟踪- ETB 通过 EDMA 进行漏极(ETB 扩展以捕获超过4KB 的数据)、这些函数只能用于 DSP 项目。

    是否有任何方法可以为 ARM 项目实现相同的应用?

    PC 跟踪只是一个示例、它可以是统计分析、函数分析或代码覆盖...

    此致!

    Enes

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

    您好、Enes、

    您的理解是正确的——ctoolslib 侧重于 DSP 和系统级(例如 CPTracers)跟踪功能。   

    虽然您可以在现有 ETMLib 和 ETBLib 功能的基础上进行构建、以实现您所需的功能、但 ctoolslib 中不支持这种功能。  

    谢谢、

    --杰森