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/PROCESSOR-SDK-OMAPL138:无法在 LCDK 上执行 IPC 示例 ex02_MessageQ

Guru**** 2539500 points
Other Parts Discussed in Thread: OMAP-L138, SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/731095/rtos-processor-sdk-omapl138-cannot-execute-ipc-example-ex02_messageq-on-lcdk

器件型号:PROCESSOR-SDK-OMAPL138
Thread 中讨论的其他器件:OMAP-L138SYSBIOS

工具/软件:TI-RTOS

我尝试在 LCDK 上执行 IPC 示例 ex02_MessageQ、但失败了。

安装:

PROCESSOR-SDK-LINUX_OAMOP138 V05_00_00_15

PROCESSOR-SDK-RTOS-OAMPL138 V05_00_00_15

安装了两个 SDK 并按照 IPC 快速入门指南中的说明进行操作-

编译已正确完成。 我还在构建 BIOS-IPC 后再次构建了 Linux 内核、并在 NFS 文件系统中安装了所有内容

当我执行/usr/bin/MessageQApp 时、我会得到预期结果

然后、我用 ex02_MessageQ DSP 映像停止并重新加载 DSP

回显"sttop">/sys/class/remoteproc/remoteproc0/state  

   remoteproc remoteproc0:停止远程处理器 DSP

CD /lib/firmware

 rm rproc-dsp-Fw
 LN -s /home/root/server_dsp.xe674 rproc-dsp-FW

echo 'start'>/sys/class/remoteproc/remoteproc0/state

   remoteproc remoteproc0:为 DSP 加电
   remoteproc remoteproc0:引导固件映像 rproc-dSP-FW、大小为4138868
   virtio_rpmsg_bus virtio0:rpmsg 主机处于联机状态
   remoteproc remoteproc0:注册的 virtio0 (类型7)
   remoteproc remoteproc0:远程处理器 DSP 现已启动

然后执行:

root@omapl138-lcdk:~./app_host dsp
-->主要:
->Main_main:
--> App_create:
^CIPC:捕获到 SIGINT、调用 IPC_STOP...
root@omapl138-lcdk:~#

该示例执行不正确。

有什么想法吗?

谢谢

PROCESSOR-SDK-LINUX_OMAPL138 05_00_00_15

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

    4.x 中存在一个问题、ex02_MessageQ 示例在 DSP2上工作、但在多个 DSP 的其他平台上不在 DSP1上工作。 这个问题应该已经在5.0版中得到解决、但我怀疑它可能不会在 OMAP-L138中得到修补。 您能否看到 ex02_MessageQ/DSP/Dsp.cfg 是否未注释以下行? 如果没有、您能否取消注释并重试?

    VAR 时钟= xdc.useModule('ti.sysbios.knl.Clock');
    // Clock.tickSource = Clock.tickSource_NULL; ========= 删除此项、但取消注释其余部分
    clock.tickSource = Clock.tickSource_user; =========
    /*将 BIOS 时钟源配置为 GPTimer5 */
    //Clock.timerId = 0;

    VAR 计时器= xdc.useModule('ti.sysbios.timers.dmtimer.Timer');

    /*跳过计时器频率验证检查。 需要稍后删除*
    Timer.checkFrequency = false;

    /*将其与提供 dmTimers 的 SYS_CLK 频率相匹配。
    *一旦 SYS/BIOS 系列设置被更新、就不需要。 *
    Timer.intFreq.hi = 0;
    Timer.intFreq.lo = 19200000;

    var timerParams = new Timer.Params(); =========
    timerParams.period = Clock.tickPeriod; =========
    timerParams.periodType = Timer.PeriodType_microsecs; =========
    /*关闭软件重置以使以下设置生效*/
    timerParams.tiocpcfg.softreset = 0x0; =========
    /*智能空闲唤醒功能模式*/
    timerParams.tiocpCfg.idlemode = 0x3; =========
    /*溢出唤醒生成*/
    timerParams.twer.OVF WUP_ENA = 0x1; =========
    timer.create (Clock.timerId、Clock.doTick、timerParams); =========

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

    我刚才下载了 RTOS 版本。 我提供的补丁似乎不适用于 OMAP-L138。 我将有一位 DSP 工程师来查看它

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Rex:感谢您的回复、

    ex02_MessageQ/DSP/Dsp.cfg 文件的内容不包含任何建议的更改。 实际上、与时钟和计时器相关的唯一部分是:

    /*将 SYS/BIOS 时钟配置为使用定时器1的下半部分*/
    VAR 计时器= xdc.useModule('ti.sysbios.timers.timer64.Timer');
    VAR 时钟= xdc.useModule('ti.sysbios.knl.Clock');
    timer.timerSettings[1].master = true;
    Timer.defaultHalf = Timer.Half_Lower;
    clock.timerId = 1;

    Solon
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Rex、我看了代码、您很紧张、修复应该是相对的。 代码的相对部分为:

    /*将 SYS/BIOS 时钟配置为使用定时器1的下半部分*/
    VAR 计时器= xdc.useModule('ti.sysbios.timers.timer64.Timer');
    VAR 时钟= xdc.useModule('ti.sysbios.knl.Clock');
    timer.timerSettings[1].master = true;
    Timer.defaultHalf = Timer.Half_Lower;
    clock.timerId = 1;

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

    您好、Solon、

    您的更改是否可以解决问题? 如果可以、我需要将其反馈给开发人员进行审核。 他在处理此问题时可能错过了 OMAP-L138。 此外、如果现在修复了该问题、请单击"已解决"。 如果审核结果显示不同、我稍后会发布。

    谢谢!

    雷克斯

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

    很抱歉、我的最后一个回复 Rex、

    我没有做任何更改、因为我无法将 dsp.cfg 文件的代码与您的注释相关联。  

    问题仍然存在

    Solon

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

    好的。 让我先试一下、然后返回给您。

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

    我发现该修复程序将在 PSDK 5.1版本(IPC 3.50.01)中提供,该版本将在2周内提供。
    解决方法是将以下行添加到 dsp.cfg 中:

    VAR Cache = xdc.useModule('ti.sysbios.family.c64p.Cache');
    cache.MAR192_223 = 0x00000000;

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

    尊敬的 Rex:

    非常感谢、这确实实现了这一目的。

    此致、

    Solon