工具与软件:
您好!
我们使用定制 PRU 固件。
有时、不会将 CRC32添加到从 PRU 发送的数据包中。
它似乎不在 TX L1 FIFO 中、因为当设置了 TX_CRC_HIGH 时 TX FIFO 级别不会改变。
因此我们想知道以下几点:
开始 TX CRC 计算的条件是什么?
是否可以重置 TX CRC 计算函数?
我们的流程如下:
检查 INTC 原始状态寄存器1中的 RX_SOF 位是否为0
更改数据路径(更改 MII_RXCFG、MII_TXCFG)
TX_RESET
4.写入数据
检查 TX_FIFO_LEVEL、确保8个半字节或更多字节是空闲的
6.cmdR31 [TX_CRC_HIGH + TX_CRC_LOW + TX_EOF]
数据路径为"Auto Forward with PRU Snoop"(通过 PRU 侦听自动转发)到"32字节双缓冲区或乒乓处理"。
(TRM 6.4.11.2 MII_G_RT 功能说明)
观察该操作可知、当数据路径设置和数据包接收的时序匹配时、似乎会发生这种情况。
(更改数据路径后、在原始状态寄存器1中设置 RX_SOF 位。)
此致、
高志