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.

[参考译文] PROCESSOR-SDK-AM437X:了解 PRU-ICSS-HSR-PRP-Dan 上的 PRU 逻辑

Guru**** 2550370 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/953716/processor-sdk-am437x-understanding-pru-logic-on-pru-icss-hsr-prp-dan

器件型号:PROCESSOR-SDK-AM437X

您好!

如果 CPU 出现总线、我观察到与 PRU 停止发送 TX 数据包相关的问题(RedTxPacketEnqueue 函数内的"TX queue full")。 无论新版本(01.00.05.01)是什么、我的应用程序当前运行的版本(01.00.02.00)也存在类似问题。 如果我检查 PRU 的反汇编、它看起来像是检查了某个东西、它在代码中循环、因此程序不会停止或卡住。 它似乎也会向我发送 RX 消息、但它不会发送。 您能否向我解释一下在 TX 情况下、PRU 检查的条件是什么? 队列已满。 为什么它不发出它?  


此应用程序在定制板上运行、因此我们担心 DP83822的硬件问题、或者 L3或 PRU RAM 上存在一些内存损坏。
有什么建议要检查的地方和内容?
链路似乎已启动(也通过读取 MDIO 进行检查)、但我们有时会在统计数据中看到、在程序启动后、最多会有7个链路中断。

此致、Mare

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

    你(们)好
    我们需要您提供一些更多详细信息以供进一步调试:

    1. 您在"RedTxPacketEnqueue"函数中看到的确切错误代码是什么? 您能否共享函数的返回值?
    2. 您是否看到 TX 最初用于某些数据包?

    3. [引用 user="Marko Kastelic"]链接似乎已启动(也通过 MDIO 读取检查),但我们有时会在统计数据中看到程序启动后最多7个链接中断。这看起来不正确。 您是否有更多有关您为什么看到链接中断的信息?

    此致

    Dhaval Khandla

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

    您好 Dhaval、

    目前、我无法回答您的观点、因为这种情况需要"猎杀"、而且不是预测性的。

    但我发现了 RX 问题(我认为):

    S T A T I S T I C S
    
    Lookup error A:00000000
    Lookup error B:00000000
    
    TX WrongLan RX 错误 节点 代理唯一双面打印器。 多个 小猫头鹰
    --- ---- ---- ---- ---- ---- ---- ---- ---- ----
    00000758 00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000000 00000000 00000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    00000410 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    H_OFlow F_OFlow H_F_Acqu H_F_Acqu 调试1 debug2 debug3 debug4
    ------ ---- ---- ---- ---- ---- ---- ----
    -2145860980 00000001 1073741824 -2139609600-2145860980 -2146450668 00000001
    -2146450668 00000001 -2147483632-2146436644
    
    开关组
    
    交换机端口:0 -错误计数:0 -错误计数:0
    队列[0]-错误计数:0 -错误计数:268
    队列[1]-错误计数:0 -错误计数:0
    -错误计数:0 -
    
    
    
    
    错误
    计数:0队列[3]-错误计数:142队列[4]-错误计数:0 -错误计数:0 -错误计数:0 -错误计数:0 -错误行计数:0 -错误计数:1:错误1:错误0 -错误1:错误1:错误0 -错误1:错误0 -错误1:错误1:错误1:错误1:错误1 -错误1:错误1 -错误1:错误1 -错误1:错误1 -错误1:错误1:错误1 -错误1 -错误1 -错误1 -错误1:错误1:错误1:错误1 -行计数:0
    队列[3]-错误计数:0 -行计数:107
    队列[4]-错误计数:0 -行计数:0
    -错误计数:2 -错误计数:0 -行计数:0
    -错误计数:0 -错误计数:0
    -错误计数:0队列[1]-错误计数:
    
    
    
    
    0 -错误计数:0 -错误计数:0 -错误计数:0 -错误记录0 -错误计数:0 -错误记录0 -错误记录0 -错误记录0 -错误0 -错误计数:0 -错误记录0 -错误记录0 -错误0 -错误记录0 -错误0 -错误记录0 -错误0 -错误记录0 -错误0 -错误记录0:0 主机***
    txUcast:0
    txBcast:0
    txMcast:587
    txOctets:42958
    rxUcast:0
    rxBcast:
    0 rxMcast:410
    rxOctets:35078
    rxUnknownProtocol:410
    txDroppedPackets:0
    linkBreak:2
    ***** PRU ***
    linkStatus[i]:1
    MDIOLINSTATUS: 1
    txBcast:0
    txMcast:689
    txUcast:69
    tx八 位数:51908
    rxBcast:0
    rxMcast:142
    rxUcast:
    35078
    rx64字节:45
    tx65_127713:tx128_tx713
    :0
    tx256_511128字节:
    
    
    0 rx64字节:35078 rx68 rx64字节:45 tx65_12713:00:00:tx2751124字节:00:00: 116
    rx65_127byte:275
    rx128_255byte:0
    rx256_511byte:19
    rx512_1023 byte:0
    rx1024byte:0
    lateColl:0
    singleColl:0
    multicoll:0
    excoll:0
    rxMisAlignmentFrame:0
    stormPrevCounter:0
    macRxError:0
    macSxDedError:0
    rx0 rxrf r OverdedFrame:
    0
    0
    rxUnderSizedFrames:0
    rxCRCFrames:0
    droppedpackets:0
    txOverFlow:0
    txUnderFlow:0
    sqeTestError:0
    TXqueueLevel:0
    CSError:0
    

    我不明白为什么 IP Trafic 不起作用...
    您如何低估此统计数据?

    此致、Mare

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

    你(们)好

    另外、我想知道 MDIO 中不能 wiky 的原因可能是什么:




    这是一个有效的物理层、它位于 CPSW 上。 应该再多两个!!! 软件中的 PRP/SWITCH 端口似乎不活动、但端口上的 LED 闪烁...?!
    这个问题并不是一个恒定的问题,而且是一个不时发生的问题。 我提到的所有问题似乎都有一个共同的问题...只是找不到。 有什么想法、您会怎么看/去哪里看?



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

    你(们)好

    这看起来像是 PHY 初始化问题。

    1. 在整个执行过程中、您是否在"mdio_alive"寄存器中看到相同的值? 您是否在任何时间点为交换机端口设置了"mdio_alive"中的位?
    2. PHY 初始化序列与 TI 的示例有多大不同? 您是在定制板上运行还是在 TI EVM 上运行?

    此致
    Dhaval Khandla

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

    您好、Dhaval

    新案例已处理:

    S T A T I S T I C S
    
    Lookup error A:00000000
    Lookup error B:00000000
    
    TX WrongLan RX 错误 节点 代理唯一双面打印器。 多个 小猫头鹰
    --- ---- ---- ---- ---- ---- ---- ---- ---- ----
    00000002 00000025 00000025 00000000 00000031 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    00000806 00000000 00000016 00000000 00000000 00000000 00000000
    H_OFlow F_OFlow H_F_Acqu H_F_Acqu 调试1 debug2 debug3 debug4
    ------ ---- ---- ---- ---- ---- ---- ----
    00000000 -216733873 -190890157 -1482790163 682793718 -5953898 -1992583 2070148573
    1104006501 1944975636 -824648868 -13848946083
    交换机端口:0 -错误计数:0 -错误计数:0
    队列[0]-错误
    
    
    计数
    
    :0 -错误计数:0 -错误1:0 -错误1:0 -错误1:错误1:0 -错误1:错误0 -错误1:错误0 -错误1:错误1:错误0 -错误1:错误1:错误1:错误1:错误1 -错误1:错误1 -错误1:错误1:错误1 -错误1:错误1:错误1 -错误1:错误1:错误1 -错误1:错误1:错误1 -错误计数-错误1:错误1:错误1:错误1:错误1
    -错误计数:54 -错误计数:32
    队列[1]-错误计数:0 -错误计数:0
    队列[2]-错误计数:0 -错误计数:0
    队列[3]-错误计数:112 -错误计数:34
    队列[4]-错误计数:0 -
    错误计数:0 -错误
    
    
    计数:0 -错误计数:0 -错误计数:0 -错误计数:0
    -错误计数:0 -错误计数:0 -错误计数:0 -错误记录0 -错误计数:0 -错误计数:0 -错误1:错误1:错误0 -错误计数-错误计数0 -错误1:错误1:错误计数-错误1:错误1 -错误1:错误1:错误1 -错误1 -错误1:错误1 -错误1:错误0
    队列[4]-错误计数:0 -行计数:0
    ***** 主机***
    txUcast:16
    txBcast:0
    txMcast:50
    txOctets:4852
    rxUcast:25
    rxBcast:353
    rxMcast:428
    rxOctets:129407
    rxUnknownProtocol:139
    txDroppedPackets:54
    linkBreak:2
    ***** PRU ***
    linkStatus[i]:1
    MDIOLINSTATUS: 1
    txBcast:0
    txMcast:2
    txUcast:0
    tx八 位位组:140
    rx255Bcast:353
    rxMcast:rx351 rxUcast
    :152
    个八位位组:132907 rx64byte
    :0
    tx65_127byte:2
    tx128_511byte:0
    tx256_511byte:0 rx64byte
    
    
    :0 tx64byte:0 tx24byte:0 tx24byte:0 tx24byte:0 tx24byte: 253
    rx65_127byte:380
    rx128_255byte:87
    rx256_511 byte:75
    rx512_1023 byte:61
    rx1024 byte:0
    lateColl:0
    singleColl:0
    multicoll:0
    excoll:0
    rxMisAlignmentFrames:856
    stormPrevCounter:0
    macRxError:0
    
    macSxDedError:0
    
    0
    rxUnderSizedFrames:0
    rxCRCFrames:0
    droppedpackets:0
    txOverFlow:0
    txUnderFlow:0
    sqeTestError:0
    TXqueueLevel:0
    CSError:0 

    我还可以在运行时重置 PHY (手动通过网页- CPSW)。 PHY 的复位未解决问题。
    MDIO:
    BMCR - 0:0x3100

    rxMisAlignmentFrames 是什么意思?

    要回答您的问题:
    1) 我无法告诉您 MDIO_ALIVE 在程序正常运行期间的状态是什么。 当我停止程序时、调试器会观察到该状态。 我是否应该定期拉取该寄存器并监控该值?

    2) 我们所做的是,在启动后重置 phy,并在 NDK 堆栈初始化之前将其保持在复位状态(我们在 NetworkOpen()中释放了 RESET)。

    我回答了您的问题吗?

    此致、Mare

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

    马里
    感谢您提供相关信息。

    我有一些后续问题:

    1. 您能否提供从偏移量0x0到0x1f 的整个 PHY 寄存器转储?
    2. 您能否将 PHY 复位序列与 TI 示例对齐? 是否有遵循当前序列的具体原因?

    此致
    Dhaval Khandla

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    S T A T I S T I C S
    
    Lookup error A:00000000
    Lookup error B:00000008
    
    TX WrongLan RX 错误 节点 代理唯一双面打印器。 多个 小猫头鹰
    --- ---- ---- ---- ---- ---- ---- ---- ---- ----
    00000004 00000000 00000000 00000000 00000000 00000035 00000000 00000000 00000000 00000000 00000000
    00000001 00029461 00000000 00000000 00000000 0000 00000000 00000000 00000000 00000000
    00016980 00000000 00000017 00000000 00000000 00000000 00000000
    H_OFlow F_OFlow H_F_Acqu H_F_Acqu 调试1 debug2 debug3 debug4
    ------ ---- ---- ---- ---- ---- ---- ----
    -1094795586 -1094795586 -1094795586 -1094795586 -1094795586 -1094795586 -1094795586 -1094795586 -1094795586 -1094795586 -1094795586
    -1094795586 -1094795586 -1094795586 -1094795586 -1094795586
    交换机端口:0 -错误计数:0 -行计数:0
    队列[0]-错误计数:0 -行计数:4963
    队列[1]-错误计数:0 -错误计数:0
    队列[2]-错误计数:0 -错误计数:0
    -
    
    
    错误计数:0 -错误计数:1 -错误计数:0 -错误计数:1 -错误计数:0 -错误行计数:0 -错误计数:1 -错误计数:0 -错误计数:1 -错误1:错误计数:0 -错误1:0 -错误计数-错误1:0 -错误计数:错误1:错误1 -错误1:错误1:错误1:错误1 -错误1 -错误1:错误1 -错误1:错误1 -错误1 -错误1:错误1 -错误1:错误1:
    
    -错误计数:0 -错误计数:0
    队列[3]-错误计数:1991 -错误计数:19
    队列[4]-错误计数:0 -错误计数:0
    开关端口:2 -错误计数:0 -错误计数:0
    队列[0]-错误计数:1643 -
    
    
    
    
    错误计数:32队列[1]-错误计数:0 -错误计数:18 -错误计数:1996 -错误计数:4:错误计数:错误计数-错误计数队列计数:0 -错误计数:错误计数 主机***
    txUcast:14
    txBcast:0
    txMcast:37
    txOctets:5428
    rxUcast:0
    rxBcast:0
    rxMcast:0
    rxOctets:0
    rxUnknownProtocol:0
    txDroppedPackets:400
    linkBreak:4
    ***** PRU ***
    linkStatus[i]:1
    MDIOLINSTATUS: 1
    txBcast:0
    txMcast:0
    txUcast:4
    tx八 位位组:280
    bcast:0
    rxMcast
    :0
    rxOctets:0 rx64字节
    :0
    tx65_127字节:4
    tx128_255byte:0
    tx256_511byte:0 tx23byte
    
    
    :0 rx64byte:0 tx64byte:0 tx64byte:0 tx64byte:0 tx64byte:0_127byte:0_127byte 0
    rx65_127byte:0
    rx128_255byte:0
    rx256_511byte:0
    rx512_1023 byte:0
    rx1024byte:0
    lateColl:0
    singleColl:0
    multicoll:0
    excoll:0
    rxMisAlignmentFrames: 0
    stormPrevCounter:0
    macRxError:0
    rxSxDedError:0
    rx0 rssvrf Error:0 rxrf
    
    0
    rxUnderSizedFrames:0
    rxCRCFrames:0
    droppedpackets:0
    txOverFlow:0
    txUnderFlow:0
    sqeTestError:0
    TXqueueLevel:0
    CSError:0
    ***** PRU ***
    linkStatus[i]:1
    MDIOLINSTATUS: 1
    txBcast:0
    txMcast:1
    txUcast:2
    tx八 位数:198
    txBcast:6934
    rxMcast:5053
    rxUcast:22480
    rx八 位数:3937825
    tx64byte:2
    tx65_127byte:1 tx128_255byte
    :0
    tx256_511512 byte
    
    :0tx23byte:0tx24byte:0_0tx24byte:0_127byte:rx24512byte:0tx24byte:0_0tx
    2480
    rx65_127byte:26394
    rx128_255byte:3027
    rx256_511 byte:1442
    rx512_1023 byte:rx1120 rx1024 byte
    :4
    lateColl:0
    singleColl:0
    multicoll:0
    exeColl:0
    misAlignmentFrame:34467
    stormPrevCounter:0
    rxrzr 0 rmacedError
    :
    
    0
    0
    rxUnderSizedFrames:0
    rxCRCFrames:0
    droppedpackets:0
    txOverFlow:0
    txUnderFlow:0
    sqeTestError:0
    TXqueueLevel:0
    CSError:0
    ***** PHY 寄存器***
    PHY0 ADDR0:0x3100
    PHY1 ADDR0:0x3100
    PHY0 ADDR1:0x786D
    PHY1 ADDR1:0x786D
    PHY0 ADDR2:0x2000
    PHY1 ADDR2:0x2000
    PHY0 ADDR3:0xA240
    PHY0 ADDR3:0xA240
    PHY0 ADDR4:0x1E1
    ADDR1
    :0x4 PHY1 PHY1 ADDR1
    0x4101
    PHY0 ADDR6:0x5
    PHY1 ADDR6:0x5
    PHY0 ADDR7:0x2001
    PHY1 ADDR7:0x2001
    PHY0 ADDR8:0x0
    PHY1 ADDR8:0x0
    PHY0 ADDR9:0x0
    PHY0 ADDR9:0x0
    PHY0 ADDR10:0x100 PHY1 ADDR11
    
    :0x1000 PHY1 PHY1 ADDR1
    0x1000
    PHY0 addr12:0x0
    PHY1 addr12:0x0
    PHY0 addr13:0x0
    PHY1 addr13:0x0
    PHY0 addr14:0x0
    PHY0 addr14:0x0
    PHY0 addr15:0x0
    PHY1 addr15:0x0
    PHY0 addr16:0x4615 PHY1
    PHY1 addr17
    :0x46Y1 PHY1 addr17:0x46Y1 PHY1 addr17:0x0 PHY1 addr16:0x0 phy1 addr16
    0x108
    PHY0 addr18:0x0
    PHY1 addr18:0x0
    PHY0 addr19:0x0
    PHY1 addr19:0x0
    PHY0 addr20:0x0 PHY0
    addr20:0x0
    PHY0 addr21:0x0
    PHY1 addr21:0x0
    PHY0 addr22:0x100 PHY1
    addr22
    :0x23 PHY1 PHY0 addr21:0x0
    phy1 phy1 addr21:0x0 phy1 phy1 addr21:0x0 phy1 phr22 0x49
    PHY0 ADDR24:0x400
    PHY1 ADDR24:0x400
    PHY0 ADDR25:0x8C04
    PHY1 ADDR25:0x8C06
    PHY0 ADDR26:0x0
    PHY1 ADDR26:0x0
    PHY0 ADDR27:0x7D
    PHY0 ADDR27:0x7D
    PHY0 ADDR28:0x529
    
    PHY1 ADDRY:0x29 PHY0 PHY1 ADDRY0
    0x0
    PHY0 addr30:0x102
    PHY1 addr30:0x102
    PHY0 addr31:0x0
    PHY1 addr31:0x0
    ***** 结束***
    

    这是 TX 问题的统计信息。
    PHY 寄存器 添加了 PRP 上的 phy0和 phy1。



    2) 我们在 NDK 启动时移动"复位线路释放"、因为在 NDK 启动之前、它需要从 MMC 读取设置、并且大量流量会导致硬故障...因此我们保持 ETH 安静。  很棒的修复,但是还可以... 我们认为

    此致、Mare  

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

    你(们)好
    您是否能够确定问题? 现在一切都按预期工作了吗?

    此致
    Dhaval Khandla

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

    您好 Dhaval、

    我按"Resolved by Ciste..." 我无法撤消标记:(

    当 TX 缓冲区已满且 TX 不工作时、您需要我提供函数的位置和返回:

    函数返回 RED_ERR。
    您是否有任何想法、这种情况的原因是什么? 您能否简单解释一下 PRU 上 TX 操作的条件是什么?
    我还注意到、重新加载调试会话不会帮助恢复这种情况。 仅当我手动拔下器件(处理器的电源复位)时、它才有用。 由于每次 CPU 启动后(在 taskPruss 任务中)都会重新加载 PRU、因此这种现象非常神秘。  
    NDK 初始化是否可以播放任何规则?

    此致、Mare

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

    你好 ,Dhaval!

    我在 RedTxPacketEnqueue 中放入队列中写入和读取指针的调试打印、以及新的写入指针和数据包长度(与驱动程序相同、乘以18)。 我还打印出写入长度和 write_ptr 的数据地址。
    当 TX 不起作用时:

    版本- HSR/PRP 1.0.2.0
    电路板名称 :
    芯片修订:PRUSS 完成!
    运行
    Mac ID 的 SYS/BIOS PRP 示例应用程序 :9c:1D:58:C5:49:A6
    q_wr_p:0x14AC
    q_rd_p:0x14AC
    wrk_p:0x14B8
    
    wr_ptr:0x14B8
    len:0x1080000
    
    ptr add:0x54403eb6
    len_adr:0x544114ac
    
    
    
    Device config:PRP
    
    HSR/PRP Application Menu Options。 按键(上/下
    
    S:显示统计
    信息 C:显示 HSR/PRP 配置
    N:显示振铃成员/节点表
    I:分配 IP 地址
    P:显示 PTP/1588状态
    R:运行 Rx/Tx 测试
    H:帮助菜单。 显示了所有选项的详细信息
    
    
    q_wr_p:0x14B8
    q_rd_p:0x14ac
    wrk_p:0x14C4
    
    wr_ptr:0x14C4
    len:0x1080000
    
    ptr add:0x54403eb6
    len_adr:0x544114b8
    
    q_len_p:0x1440ac
    wr_r_rp:0x541440r
    
    
    
    
    
    
    trr wr:0x1440r_dr
    
    :0x1440r_d800r
    :0x5440r_dr 0_trr:0x5440r_dr 0_rn_r_r_r_rn_rp
    
    
    
    
    
    
    :0x541440r 0_trr:0x541440r_r_r_r_rlen_d4:0x541440r_r_r_r_r_dr:0x1440r_r_r_r_r_dr 

    等等 读取指针不会移动。

    硬复位后:

    版本- HSR/PRP 1.0.2.0
    电路板名称 :
    芯片修订:PRUSS 完成!
    运行
    Mac ID 的 SYS/BIOS PRP 示例应用程序 :9c:1D:58:C5:49:A6
    q_wr_p:0x14AC
    q_rd_p:0x14AC
    wrk_p:0x14B8
    
    wr_ptr:0x14B8
    len:0x1080000
    
    ptr add:0x54403eb6
    len_adr:0x544114ac
    
    
    
    Device config:PRP
    
    HSR/PRP Application Menu Options。 按键(上/下
    
    S:显示统计
    信息 C:显示 HSR/PRP 配置
    N:显示振铃成员/节点表
    I:分配 IP 地址
    P:显示 PTP/1588状态
    R:运行 Rx/Tx 测试
    H:帮助菜单。 显示了所有选项的详细信息
    
    
    q_wr_p:0x14B8
    q_rd_p:0x14B8
    wrk_p:0x14C4
    
    wr_ptr
    :0x14C4 len:0x1080000
    
    ptr add:0x54403eb6
    len_adr:0x544114b8
    
    q_len_p:0x1441wr_r_rp
    :0x1441wr_d800p_dr
    
    
    
    
    
    
    :0x1440r_d800p_dr:0x541440r_d4
    
    
    
    
    
    :0x5440r_r_r_dr 0_r_d800p_rr:0x541440r_r_d4:0x541440r_r_r_r_r_rn_d4:0x541440r_r_r_r_r_d4:0x54000_rlen_r_d4:0x5440r_r_r_
    
    
    
    

    按应有的方式读取指针! PRU 是否处理了中断或其他任何内容? 未复位或保持未定义状态的东西。 请给我一个提示、告诉我要检查什么!
    可能与定制板相关? 由于我无法访问 PRU 代码、因此我恳请您提供有关可检查哪些内容的任何指导或提示...

    此致、Mare

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

     您好 Dhaval、

    也许是完全相关的信息,但“尝试不是罪”:)
    PRU_ICSS1_PRU0在可解串代码中进行一些长跳转和循环。
    从 addrss 0x000280到0x000284....的 PRU_ICSS1_PRU1循环 看起来像是"while ()"。。 是这样吗? 这种观察结果是不是指向任何地方?

    此致、Mare

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

    您好 Dhaval、

    位置似乎属于 IEP 计时器。

    这是循环:

    C26指向 IEP:

    我不熟悉该计时器、但它似乎被禁用了吗?
    有什么想法吗?
    寄存器 R5是来自共享 RAM 的某个位置(可能是 PTP 相关值)、看起来是相同的。

    主席先生、我真的需要一些反馈或想法...  
    此致、Mare

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

    您好 Dhaval、

    您是否仍在跟踪此问题?

    此致、Mare