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.

[参考译文] TMS320F280049C:如何使用 ARM Cortex M4对 C28x + FPU 进行基准测试、尤其是在数学功能方面。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/873371/tms320f280049c-how-to-benchmark-c28x-fpu-with-arm-cortex-m4-especially-in-math-capability

器件型号:TMS320F280049C

您好!

参考下面的线程、我想了解使用 ARM cortex M4对 C28x+FPU 进行基准测试的方法吗?

是否有任何示例可将 TMS320F280049C (100Mhz、100MIPS)与特定型号的 ARM cortex M4 (120MHz、200MIPS)在 同一数学问题上所用的时间进行比较?

此致、

Mike

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

    Mike、

    我不确定我对您的问题是否完全理解、但我将根据您的要求写下我的想法。

    要对 C28x+FPU 上的代码进行基准测试、您可以执行以下4项操作之一:

    例如、为了在示波器上获得外部可见性、就像许多用户一样、您可以在基准测试代码片段之前设置 GPIO、并在基准测试代码片段之后清除 GPIO。 然后、您可以将 GPIO 信号连接到示波器。 这样做的缺点是精度- GPIO 设置和清除时间会影响测量、因此如果您要进行基准测试的代码非常短、精度可能会受到显著影响。

    2.在 CCS 中使用软件断点-在要进行基准测试的代码段的开头放置一个断点、在代码段的末尾放置另一个断点。 然后在 CCS 中使用 Run->Clock->Enable、这将在 CCS 窗口的右下角显示一个时钟。 双击该数字将将其清除为0。 此技术的缺点是您需要连接仿真器。 如果您正在运行代码、并且启用了编译器优化、则可能无法将断点准确放置在需要的位置。 (您可以查看反汇编并在其中放置断点以实现更好的控制)。

    3.使用 C28x 计时器-启动  

    CNT_START = C28_PROFILE_READ();//在基准测试部分开始之前
    CNT_END = C28_PROFILE_READ();//基准测试部分结束后
    tm_new = cnt_start - cnt_end;//这是周期数(可使用器件运行时钟速度缩放为时间)

    // profile_read
    // C28_profile_read()-返回 CPU 定时器计数器值
    //
    静态内联 uint32_t C28_profile_read (void)

    RETURN (HWREG (CPUTIME1_BASE + CPUTIME_O_TIM));

    有相关的初始化函数-如果您有兴趣、我可以向您指出这些函数/与您共享它们。

    4.使用 ERAD -随着新器件的推出,这应该是首选的基准测试技术。 我还没有亲身实践的经验、但如果感兴趣、我可以指出正确的方向。

    "嵌入式实时分析和诊断(ERAD)模块增强了调试和系统
    通过提供用于性能分析的附加硬件断点和计数器来实现器件的分析功能。"

    谢谢、

    Sira

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

    您好,Sira,

    是的、上面的内容确实回答了我的问题。

    然而、出于便利的考虑、与 ARM cortex M4相比、是否有任何示例可以证明 C28x 在解决数学问题方面更好、更快? 因为在我粘贴的上面的线程中、有一个断言 C28x 比 cortex M4更快。

    此致、

    Mike

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

    您好,Sira,

    我找到了一个线程、该线程在 CM4F 和 C28x 之间具有一些比较数据。

    这应该是我要查找的内容。  

    从 Alex T.在 2010年11月30日上午12:15提供的表格中、我了解到较小的时钟周期更好、但"字节"在他的表格中意味着什么?

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/21092/277090

    我已将时钟周期转换为所需的时间。 也许、您可以帮助我查看以下翻译是否存在任何问题

    FIR (32个块、32个抽头) Cortex-M4F C28x
    (周期数) 以 ms (120MHz)为单位的时间 (周期数) 以 ms (100Mhz)为单位的时间
    16位固定点 FIR 2100 17.50. 1109. 11.09.
    32位固定点 FIR 2730. 22.75 1428. 14.28.
    32位浮点 FIR 4750. 39.58. 1565 15.65

    此致、

    Mike

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

    Mike、

    感谢您分享。

    在您的表中、所花费的时间将在我们中、而不是 ms。

    我认为字节指的是代码大小。

    谢谢、

    Sira