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-AM437X:移植 PRP HSR 应用

Guru**** 2595800 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642377/rtos-processor-sdk-am437x-porting-prp-hsr-application

器件型号:PROCESSOR-SDK-AM437X

工具/软件:TI-RTOS

您好!

有人能否在 prp_app 中解释 PWMSS 的用途?

我正在研究定制板的示例端口,我不明白使用的是什么...
谢谢!

此致、Mare

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    马来

    使用 prp_app 中的 PWMSS 主要是因为 PWMSS 的 eCAP 模块支持 PTP 的时间同步、请参阅 Protocols \Timesync/drivers\ICSS_Timesync_ECAP_EDMA.c:

    /*在中配置 eCAP0计时器
    接收到的同步数据包=> deltaT 计算=>在特定的存储器位置写入0x0451 /0x0651
    2.计算 ECAP 的周期(即更新周期)=>写入 ECAP 周期并启动 ECAP
    3. ECAP 将连续生成中断=> EDMA 被触发=>在 IEP 寄存器中写入451/651并清除 ECAP 位
    重复步骤1至3*/

    void Timesync_initEcap (Timesync_ParamsHandle_t timeSyncHandle)

    /*将 ECAP 置于 APWM 模式,如果正在运行,则停止 TSCTR */

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

    感谢 INFO-Garrett!

    我有另一个问题。
    在定制板上、我有奇怪的行为!


    有时、ICSS 上的 IT 端口在启动后变得无法访问。 现在、我正在寻找原因...

    1) 从链接 processors.wiki.ti.com/.../ICSS_EMAC_LLD_debug_guide 中,我尝试检查统计信息:
    hostStatPtr =(hostStatistics_t*)(((((ICSSEMAC_Object*) emachandle->object)->hostStat));
    pruStatPtr =(pruStatistics_t*)(((((ICSSEMAC_Object*) emachandle->object)->pruStat));
    pruStatPtr 成员始终为0 (当端口正在运行且断开时)。
    HostStatPtr 具有带数字的成员...
    为什么?

    2)
    断开后,应用程序在 RedTxPacketEnqueue()中按 RED_ERR。 (//*检查队列是否已满,是否有回绕*/和//检查队列是否已满*/),这意味着 PRU 固件不运行?

    3) 我们不使用"碰撞/载波感知"引脚、因此我检查 main.c 行...:
    switchEmacCfg->halDuplexEnable = 0;
    没关系、对吧?

    4.) PRU 是否可能因为想要控制某些不是引脚多路复用的引脚而卡住?

    是否有任何建议要检查什么/哪里?

    感谢 Garrett 的努力!
    此致、Mare

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

    1) prusStat 存储器被分配但未更新,此时 hostStat 在 hsrPrp_red.c 的 ICSS_EmacUpdateRxStats()和 hsrPrp_red_TX.c 的 ICSS_EmacUpdateTxStats()中更新 要获取 pruStat,需要调用 ICSS_EMAC 库中的 ICSS_EmacReadStats()。 Wiki 中也对此进行了说明: processors.wiki.ti.com/.../ICSS_EMAC_LLD_developers_guide

    2) 2)您可以从上面的 pruStat 中找到

    3)是的

    4) 4) pinmux 始终是您需要检查的第一项、以确保 ICSS_EMAC 引脚正确复用。

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

    似乎是硬件问题。 我应该闭合线程、还是一直保持开放状态、直至定制板的移植完成?

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

    我发现,当链路断开/ ping 不起作用时,ICSS_EmacUpdatePhyStatus()不会被调用。 因此应用程序没有检查链接状态....
    有什么理由? 我应该检查什么?

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

    您好、Garrett、

    我对 TI RTOS 的了解不够熟悉。 我看到信标阻止了链路。
    问题重说、但我还不明白正在发生什么...
    当我确定问题是什么时、我会报告。

    感谢您的观看。  

    此致、Mare
     

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

    马来

    ICSS_EmacUpdatePhyStatus()在链接任务- ICSS_EMAC PDK 驱动程序中调用。 您的定制板上的 PHY 设置似乎不正确...顺便说一下、请为 PHY/Link 问题打开另一个 TT。 该主题已标记为"已解决"并已关闭、谢谢!

    此致、
    Garrett