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.

[参考译文] Linux/DRA746:如何知道 DSP 内核是否正常工作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/676466/linux-dra746-how-can-i-know-the-dsp-core-is-working-or-not

器件型号:DRA746

工具/软件:Linux

你(们)好,先生

    当我使用 OpenCV 功能时、如何知道 DSP 是否工作? 我们是否有任何寄存器可用于检查 A15和 DSP 内核的状态?

测试1:


CV::OCL::setUseOpenCL (false);
while (m-)
{
    Clock_gettime (clock_monotonic、&tp0);
    cv::remap (src_img、dst_img、map_x、map_y、cv::inter_linear);
    Clock_gettime (clock_monotonic、&TP1);
    printf ("在 ARM 内核上重映射成本 tDIFF=%LF ms \n"、tDIFF_calc (tp0、TP1));
}
CV::OCL::setUseOpenCL (真);
while (n-)
{
    Clock_gettime (clock_monotonic、&TP2);
    cv::remap (src_img、dst_img、map_x、map_y、cv::inter_linear);
    Clock_gettime (clock_monotonic、&TP3);
    printf ("在 DSP 内核上重映射成本 tDIFF=%LF ms \n"、tDIFF_calc (TP2、TP3));

}

resumalt 为:

在 ARM 内核上、重映射成本 tdiff = 38.118005ms
在 ARM 内核上、重映射成本 tdiff = 32.349357 ms
在 ARM 内核上、重映射成本 tdiff = 32.278272ms
在 ARM 内核上、重映射成本 tdiff = 32.307552ms
在 ARM 内核上、重映射成本 tdiff = 27.517344 ms
在 ARM 内核上、重映射成本 tdiff = 22.760482ms
在 ARM 内核上、重映射成本 tdiff = 22.789763ms
在 ARM 内核上、重映射成本 tdiff = 22.844256ms
在 ARM 内核上、重映射成本 tdiff = 22.744866ms
在 ARM 内核上、重映射成本 tdiff = 22.767803ms


在 DSP 内核上、重映射成本 tdiff = 29.195250ms
在 DSP 内核上、重映射成本 tdiff = 23.000416ms
在 DSP 内核上、重映射成本 tdiff = 22.815138ms
在 DSP 内核上、重映射成本 tdiff = 23.906957ms
在 DSP 内核上、重映射成本 tdiff = 23.006923ms
在 DSP 内核上、重映射成本 tdiff = 22.777237ms
在 DSP 内核上、重映射成本 tdiff = 22.830918ms
在 DSP 内核上、重映射成本 tdiff = 22.754464ms
在 DSP 内核上、重映射成本 tdiff = 22.761622ms
在 DSP 内核上、重映射成本 tdiff = 22.727461ms

 

当我执行类似这样的测试时:

CV::OCL::setUseOpenCL (真);
while (m-)
{
    Clock_gettime (clock_monotonic、&tp0);
    cv::remap (src_img、dst_img、map_x、map_y、cv::inter_linear);
    Clock_gettime (clock_monotonic、&TP1);
    printf ("在 ARM 内核上重映射成本 tDIFF=%LF ms \n"、tDIFF_calc (tp0、TP1));
}
CV::OCL::setUseOpenCL (false);
while (n-)
{
    Clock_gettime (clock_monotonic、&TP2);  
    cv::remap (src_img、dst_img、map_x、map_y、cv::inter_linear);
    Clock_gettime (clock_monotonic、&TP3);
    printf ("在 DSP 内核上重映射成本 tDIFF=%LF ms \n"、tDIFF_calc (TP2、TP3));

}

结果为:

在 DSP 内核上、重映射成本 tdiff = 37.057093ms  
在 DSP 内核上、重映射成本 tdiff = 31.645010ms  
在 DSP 内核上、重映射成本 tdiff = 31.546435ms  
在 DSP 内核上、重映射成本 tdiff = 31.594747 ms  
在 DSP 内核上、重映射成本 tdiff = 35.939410ms  
在 DSP 内核上、重映射成本 tDIFF=27.090181ms  
在 DSP 内核上、重映射成本 tdiff = 22.198144ms  
在 DSP 内核上、重映射成本 tdiff = 22.327301ms  
在 DSP 内核上、重映射成本 tdiff = 22.162520ms  
在 DSP 内核上、重映射成本 tdiff = 22.173419ms  


在 ARM 内核上、重映射成本 tdiff = 22.176347ms  
在 ARM 内核上、重映射成本 tdiff = 22.197981ms  
在 ARM 内核上、重映射成本 tdiff = 22.149507ms  
在 ARM 内核上、重映射成本 tdiff = 22.212784 ms  
在 ARM 内核上、重映射成本 tdiff = 22.167725ms  
在 ARM 内核上、重映射成本 tdiff = 22.166912ms  
在 ARM 内核上、重映射成本 tdiff = 22.204650ms  
在 ARM 内核上、重映射成本 tdiff = 22.174232ms  
在 ARM 内核上、重映射成本 tdiff = 22.199120ms  
在 ARM 内核上、重映射成本 tdiff = 22.173906ms


API  CV::OCL::setUseOpenCL (true); 和 CV:OCL::setUseOpenCL (false);不 起作用、

如何确保 DSP 和硬件加速正常工作?

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

    您好!

    您是否在 A15上使用 Linux/Android?
    如果是、则有一个 debugfs 条目可以指示远程内核的状态。 下面列出了 DSP1/2相关条目

    /sys/kernel/debug/remoteproc/remoteproc2/state
    /sys/kernel/debug/remoteproc/remoteproc3/state

    CM_DSP1_DSP1_CLKCTRL / CM_DSP2_DSP2_CLKCTRL 寄存器也是检查 DSP 状态的好寄存器。


    此致、
    Vishal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢您,我想您解决了我的问题,我使用 cat /sys/kernel/debug/remoteproc/remoteproc2/state 查看 DSP1/DSP2正在运行! 感谢你的帮助。
    此致、
    文波基因