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.

[参考译文] RTOS/TDA3XEVM:平台中的 C66x CPU 时钟

Guru**** 2925850 points

Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666398/rtos-tda3xevm-c66x-cpu-clock-in-the-platform

器件型号:TDA3XEVM
Thread 中讨论的其他器件:SYSBIOSTDA2

工具/软件:TI-RTOS

您好!

我已将示例项目"benchmark_TDA3x_C66xx"导入到 CCS 7.4中、并选择了 TDA3EVM 平台。 此平台取自 SYS/BIOS 6.53.1.03。 我想知道、为什么 CPU 时钟设置为600MHz。 TDA3的 C66x 额定频率为500MHz。 这里出了什么问题?

顺便说一下、必须从中更改 benchloop.c 文件中的以下内容

/* POSIX 模块头*/
#include
#include

#include
#include

此致、

米兰

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

    我已将您的问题转交给一位专家征求意见。

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

    您好、米兰、

    这来自 BIOS_6_XX_XX_XX\packages/ti\platforms\evmTDA3XX\package\ti_platforms_evmTDA3XX.java 的默认定义

    po.addfld ("dsp"、(Proto) om.findStrict ("xdc.platform.IExeContext.Cpu"、"ti.platforms.evmTDA3XX")、Global. newObject ("id"、"0"、 "clockrate (时钟速率)"、600.0、"CatalogName (目录名称)"、"ti.catalog.c6000"、"deviceName (设备名称)"、 "TDA3XX"、"修订版本"、"1.0")、"RH");

    您可以通过设置以下内容在特定于工程的 CFG 文件中进行修改:
    VAR BIOS = xdc.useModule('ti.sysbios.BIOS');
    bios.cpufreq.hi = 0;
    bios.cpufreq.lo = 500000000;

    这将对计算 DSP 软件频率生效。 BTW、请注意 这些设置的外设实际上会拨号 PLL。

    我不知道您提到的项目 Benchmark_TDA3x_C66xx。 您能否突出显示此项目的来源?

    谢谢、此致、
    Piyali

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

    您好、Piyali、

    感谢您的回答。 我认为平台中的600MHz 条目是 TDA2时钟的复制和粘贴错误。 "benchmark_TDA3x_C66xx"项目来自 TI Resource Explorer:

    我知道、可以使用 SYS/BIOS cfg 脚本设置时钟和存储器设置。 是否可以在没有默认平台或使用简单链接器文件的情况下编译软件? 单独的平台处理使工作流程变得过于复杂。  

    此致、
    米兰

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

    感谢您指出来源。 由于这是一个基于 BIOS 的项目、它将尝试运行的第一个项目是寻找平台的 XDC 配置步骤。 您还可以添加自己的链接器文件、但基础链接器文件将通过此配置步骤从平台创建。

    如果您能详细说明您打算如何使用此项目、这将有助于我们。 我们可以根据您的反馈检查是否有任何替代方案。

    关于前面有关 POSIX 头的评论、您说得对。 示例包含路径似乎对应于较旧的 BIOS 版本。 我将通知我们的 BIOS 团队对此进行更新。

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

    您好、Piyali、

    我选择了这个项目、因为我希望优化 C66x 的算法、并有可能进行时间测量。 通过这种方式、我认识到平台中的 CPU 时钟设置错误、 因此时间测量不正确。 DSP 以500MHz 的频率运行。

    此外、SYS/BIOS 配置中设置的 CPU 时钟也错误。

    这就是我要求完全绕过平台并禁用 XDC 配置的原因。 我想在 SYS/BIOS 配置中以及在链接器文件中处理此配置。 对于多核处理器、清除配置的最佳方法(CPU 时钟、存储器、段...) 将位于单个文件中。 有可能吗?  

    此致、
    米兰

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

    如果您只想测量 DSP 上的算法的时间、并且实际上不具有任何 BIOS 相关性、则还可以使用独立的非基于 RTSC 的 CCS 工程。

    为了进行性能评测、您可以在运行 C66x 频率的 C66x 中使用 TSC 计时器。 我正在复制汇编代码以读取计时器、以便快速参考:

    全局_CSL_tscEnable
    全局 CSL_tscEnable

    _cSL_tscEnable:
    BNOP B3、4. ;
    MVC A4、 TSCL;通过写入 TSCL 来启动 CPU 定时器

    全局_CSL_tscRead
    全局 CSL_tscRead
    .sect ".text:cslsys_section:tsc"
    _cSL_tscRead:
    BNOP B3、 2. ;分支返回指针
    MVC TSCL、B0 ;读取 TSCL
    MVC TSCH、B1 ;读取 TSCH
    || MV B0、A4
    MV B1、A5


    extern void CSL_tscEnable (void);
    extern CSL_uint64 CSL_tscRead (void);

    谢谢、此致、
    Piyali