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.

[参考译文] SK-AM64B:处理时间测量方法

Guru**** 2487425 points
Other Parts Discussed in Thread: SK-AM64B

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1408440/sk-am64b-processing-time-measurement-method

器件型号:SK-AM64B

工具与软件:

您好、TI 团队!

我将研究 SK-AM64B 内核到内核的调度时间和任务到任务调度时间。
我将使用 IPC Notify evcho 应用程序。
请告诉我如何测量它。

环境:
 CCS12.7.0
 AM64x MCU+ SDK 09.02.01
 SK-AM64B

我相信 ClockP_getTimeUsec()可以在同一个内核中使用。
q1:ClockP_getTimeUsec ()是自 CPU 复位以来经过的时间吗?

问题2: 如何测量内核之间的时间差?
 T1 = RCV0-1 - SND0-0
 T2 = RCV0-0 - RCV0-1

Q3如果 ClockP_getTimeUsec()的返回值返回自 CPU 复位以来经过的时间
 我认为可以根据第一个复位内核来计算差时间、从而测量出该时间。
 因为我知道 SBL OSPI 多分区的 CPU 复位时间、所以我想可以计算内核之间的时间差。

 对于 SBL OSPI、我不知道 CPU 复位时序。 请告诉我如何测量它。

Q4.对于 Linux、可使用顶部命令检查 CPU 占用情况。
 对于 MCU+SDK、如何测量 CPU 占位?

此致、
Yoshiki Koide

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

    您好、Yoshiki、

    [报价 userid="613167" url="~/support/processors-group/processors/f/processors-forum/1408440/sk-am64b-processing-time-measurement-method "] ClockP_getTimeUsec()是否是自 CPU 复位以来经过的时间? [报价]

    是的、您回答正确。 您是否已经对此进行过实验?

    请允许我在某个时候对您的其他问题进行评论。

    此致、

    Vaibhav

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

    您好、Vaibhav、


    就是我所怀疑的。
    谢谢你。
    此致、
    Yoshiki

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

    您好!

    Unknown 说:
    Q4.如果是 Linux、可以使用 top 命令检查 CPU 占用情况。
     如果是 MCU+SDK、如何测量 CPU 占用情况?[/QUOT]

    为了解决这个问题、我们最近创建了一个常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1392509/faq-how-to-profile-cpu-usage-with-mcu-sdk

    此致、

    Vaibhav

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

    您好、Vaibhav、

    一如既往,谢谢你!!!! 我将查看它。

    此致、
    Yoshiki

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

    您好!

    [报价 userid="613167" url="~/support/processors-group/processors/f/processors-forum/1408440/sk-am64b-processing-time-measurement-method "]

    问题2: 如何测量内核之间的时间差?
     T1 = RCV0-1 - SND0-0
     T2 = RCV0-0 - RCV0-1

    Q3如果 ClockP_getTimeUsec()的返回值返回自 CPU 复位以来经过的时间

    [报价]

    我已在内部讨论过这一点、逻辑可以如下所示。

    因此、假设有两个内核使用了 Notify、以确保两个内核之间的操作同步。

    对于此注释、您可以尝试执行以下操作:

    核心1应用:

    此处请注意时间戳 t1 =假设为1s

    通知呼叫

    此处请注意时间戳 t2 =假设为10s

    酷睿2应用程序:

    此处请注意时间戳 T3 =假设为4s

    通知呼叫

    因此所用的时间很简单、t2 - t3 = 10 - 4 = 6秒。

    请告诉我这是否合理。

    此致、

    Vaibhav

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

    您好、Vaibhav、

    我已经绘制了 T2 - T3。 我的理解是否正确?

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

    尊敬的 Yoshiki:

    该专家目前已离开办公室一周。 对该线程的响应将被延迟。

    感谢您的耐心。

    此致、

    Tushar

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

    Tushar、您好!

    感谢您与我们联系。

    此致、

    Yoshiki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经绘制了 T2 - T3。 我的理解是否正确?

    是的、理解正确。 您可以继续操作。 如果有任何其他疑问、请告诉我。

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

    谢谢您、Kumar。

    我使用了 IPC Notify evcho 应用来测量处理时间。
    我认为 ClockP_getTimeUsec()返回的时间不正确。
    我认为 A53内核检索到的时间和 R5F 内核检索到的时间不正确。

    我想在此处公布处理时间。

    此致、

    Yoshiki

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

    您好!

    [报价 userid="613167" url="~/support/processors-group/processors/f/processors-forum/1408440/sk-am64b-processing-time-measurement-method/5451095 #5451095"]

    我认为 A53内核检索到的时间和 R5F 内核检索到的时间不正确。

    我想在此处公布处理时间。

    [报价]

    您可以在此处发布时间吗?

    您是否看到不一致的值?

    此致、

    Vaibhav

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

    您好 Kumar。
    很抱歉我迟到了。

    PROT 1017-1.

    本图表假设 PON 时间是同时的。
    我认为它们不是完全同步的。

    1017-Q1。

     我能否确定消隐时间?
     消隐时间需要多长时间?

     a53=>R5F 通信间隔
      A53的通信间隔约为30us。
      R5F 的通信间隔也约为30us。

      我不确定 A53 => R5F 的通信间隔。 可能大约为15usec。

    以下是详细说明。
    我的 IPC Notify echo 项目有一个主要内核 A53。

    表。 ClockP_getTimeUsec

    PROT 1017-1."T2 - T3 = 10 - 4 = 6"
     使用此公式、值为114511 (usec)。
     a53=> 114511的 R5F 通信间隔(usec)不正确。

     a53=>R5F 通信间隔:
      echo3 (T3)=> echo2 (T2)   114511 (usec)

     a53=>A53通信间隔:。
      echO2 (T2)=> echo4 (T4)  29 (usec)
      29/2 = 14.5 (usec)      R5F>R5F 通信间隔 A53=

    表。 ClockP_getTimeUsec"同步"
     R5F 的 syncall()的完成时间为129062 (usec)。
     A53的 syncall()完成时间为18816 (usec)。

     如果 syncall()同时完成 A53和 R5F、则 ClockP_getTimeUsec()返回的时间不正确。

    1017-Q2。
     如果 ClockP_getTimeUsec()返回的时间正确、则 R53F 中的 Ippiria(451)应在 Notify_Sync 之前完成。
     a53=>R5F 通知延迟为4273us。
     表。 ClockP_getTimeUsec"SYNC => T1"

     R5F syncall ()=> A53 syncall ()=> A53 sendMsg ()=> R5F echo1
      A53中的第一个 IpcNotify_sendMsg ()"t0"在 syncall()之后立即执行。
       A53 IpcNotify_sendMsg()延迟、因为 syncall()晚于 R5F 完成。
       在 R5F 中、同步后、等待接收。
       接收延迟为4273us。

     可能第一个 R5F 应用程序是在 SBL 完成后启动的。
     然后、在大约4000usec 后、我相信 A53应用程序就已经推出了。
     这种猜想是正确的吗?

    1017-Q3.
     应用程序的启动顺序是什么?
     OSPI 引导加载程序:          R5F 0-0 => R5F 0-1 => R5F 1-0 => R5F 1-1 => M4F 0-0 => A53 0-0 => A53 0-1?
     OSPI 多分区引导加载程序:R5F 0-0 => R5F 0-1 => R5F 1-0 => R5F 1-1 => M4F 0-0 => A53 0-0 => A53 0-1?

    此致、
    Yoshiki

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

    您好、Yoshiki、

    感谢您的耐心。

    此主题已分配给正确的专家。

    请期待在几个工作日内得到回复。

    此致、

    Vaibhav

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

    尊敬的 Yoshiki:

    [报价 userid="613167" url="~/support/processors-group/processors/f/processors-forum/1408440/sk-am64b-processing-time-measurement-method/5466548 #5466548"] 我能找出清空时间吗?
     消隐时间需要多长时间?

    对于此处的延迟、我们深表歉意。 您可以使用 GTC 计时器获取处理时间。

    请参阅  GTC API 以了解详细信息。

     应用程序启动的顺序是什么?

    您可以参考 SBL 示例以查看该流程。  

    对于 OSPI = M4F0-0 -> R5F1-0 -> R5F1-1 -> A530-0 -> A530-1 -> R5F0-0 -> R5F0-1。

    对于 OSPI-Multicpart = R5F1-0 -> R5F1-1 -> M4F0-0 -> A530-0 -> R5F0-0 -> R5F0-1

    此致、

    Tushar