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.

[参考译文] TDA4VH-Q1:DMIPS 测试产生意外结果

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1430962/tda4vh-q1-unexpected-result-in-dmips-test

器件型号:TDA4VH-Q1
主题中讨论的其他器件:TDA4VH

工具与软件:

您好!

 在 A72和 R5F 上进行了 DMIPS (Dhrystone 每秒百万条指令)测试、结果如下。

A72 10698.3449.
MCU1_0 924.5487
MCU2_0 948.6272.
MCU2_1 965.1651.

结果的单位是 DMIPS。 但根据 TDA4VH 的介绍、  A72的例外 DMIPS 为11.4K、 R5F 为2.01K。  

结果似乎 A72 DMIPS 测试结果接近例外结果、但 R5F 的测试结果显然与例外结果不匹配。

我想问您是否执行过针对 A72和 R5F 的此测试、测试结果是什么? 为什么 R5F 的 DMIPS 测试与例外值不同?

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

    您好!

    是的、我们在 HLOS 和裸机级别运行 Dhrystone。  我的跑步与您在介绍中引用的值匹配。

    每个版本都在基准测试部分发布了 SDK 级别的运行。  这是 A72的链接。

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/10_00_00_08/exports/docs/devices/J7_Family/linux/Release_Specific_Performance_Guide html#Dhrystone

    您获得的分数将很大程度上取决于编译器和您的选项。  它还取决于环境。  如果对于裸机、您的过程仅使用 JTAG 脚本来为内核计时、然后加载代码、则如果未启用缓存(或域的 PLL 未设置为最大速度)、则值可能非常慢。  

    您可以找到一些基于 SDK 的另一个公共 E2E 的背景、其中一个版本的列未正确上传。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1392814/am67-linux-sdk-dhrystone-benchmark-results/5330498#5330498

    如果您想进一步查看您测量的内容、了解有关其运行方式的更多信息(目标环境、时钟速度、高速缓存设置、使用的编译器及其开关...)。  在很大程度上、用于标准 ARM 内核的 Dhrystone 不会因供应商而异。 Dhry 是一个非常小的测试,它完全适合系统的 L1高速缓存,所以它会告诉你是否设置了时钟速度,高速缓存,以及你的编译器是如何好的过程代码。

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

    您好!

    感谢您的解释、我将检查我的系统配置以进行测试。

    同时、我想问您能否提供您在 R5F DMIPS 测试中使用的 Dhrystone 演示或示例? 当我将程序集成到 R5F 时、我改变了一些类似于获得时间的方式。 如果可能的话,我想尝试你的  Dhrystone 程序,看看我是否能得到更好的结果。

    此致、

    Hongyao

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

    此 Lauterbach JTAG 脚本可实现简单编译的裸机启动。  它利用标准 CMM/Gel 启动来运行。

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

    感谢您提供此信息。 不过、现在我这边没有 Lauterbach。  如果您能在 CCS 上提供我可以使用的东西、那会很好。 当然、可执行二进制文件会更好。

    此致、

    Hongyao Jin

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

    您好!

    我没有为此构建 CCS 工程。  对于裸机 LB、在这种情况下更简单了、因为它在 CMM 中的 API 可以强制某些 CPU 状态被手工编码成汇编语言并使用 CCS 集成到二进制模式中。

    下面是一个快速视频、展示了如果您想尝试、如何随二进制文件一起运行。  我在使用标准 CMC 启动 R5内核并将时钟设置为1GHz 后启动它。

    e2e.ti.com/.../2024_2D00_11_2D00_01_5F00_17h24_5F00_40.mp4

    /cfs-file/__key/communityserver-discussions-components-files/791/dhry2_5F00_cr5_5F00_O3.7z

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

    您好!

    我 借用了 LB 并尝试了 cmm 脚本和您提供的二进制文件,并遇到了一些问题。

    我首先尝试运行 cmm 脚本、但在此命令中找不到该文件:

    我尝试了这一行的注释、我注意到它尝试加载 二进制文件:

    我认为推荐的做法是尝试加载您提供的二进制文件、因此我更改了此行中的路径、以加载二进制文件并运行此脚本。 我运行脚本时没问题、但是当我尝试运行 CPU 时、LB 一直报告目标正在运行、并且当我在底部检查 CPU 状态时、它显示 CPU 仍处于"顶部"状态。

    因此、我尝试 仅使用"data.load.elf"加载二进制文件、LB 还报告了目标正在运行。

    我想问的是、我执行的任何步骤是否错误? 如果可能、您能否提供 cmm 脚本中提到的缺失文件(以上两张图片中提到的文件)? 在尝试运行二进制文件时、为什么总是得到"目标正在运行"? (BTW:我还尝试使用 CSS 加载二进制文件、将其加载到 R5f 后、CSS 也会报告"正在运行"且没有发生任何情况)

    期待您的回复、

    此致、

    Hongyao Jin

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

    您好!

    正如我在14天前的其他答复中提到的,我仍然不知道如何使用你的脚本获得理想的 DMIPS R5f。 如果可能、您能就此提供一些建议吗?

    期待您的回复。

    此致、

    Hongyao Jin

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

    您好!

    根据您的评论、您对 TRACE32不太熟悉。 在加载 elf 文件之前、必须指定内核并将其暂停。 可以在 GUI 中指定此参数或使用脚本。 我将附加此脚本以指定用于 EVM 上的基本测试的内核和更大的集。  如果使用裸机 TCM 初始化系统、则最好从 EVM 上的 NOBOOT 状态(DIP 开关)开始、但将其设置为 SD 引导、而不插入卡也可以。 我随附的脚本确实需要熟悉 TRACE32。 建议就此问题或 Lauterbach 支持咨询您的同事。 我可以讨论脚本方面、但经过一小部分 TRACE32培训后、该讨论可能才有意义。

    e2e.ti.com/.../_5F00_J784S4_5F00_r5.cmm

    e2e.ti.com/.../3515.cmm_2D00_tda4vh_5F00_j784s4.7z

    此致、
    理查德·W·