工具与软件:
您好、TI:
目前、我们正在不使用当前的 SDK 示例对 CPSW9G 进行配置、但有一些我们无法弄清楚:
- J784S4的代码和 TISCI 在线文档之间存在差异:
- PSI-L 线程名称是"navss_main_cpsw5_rx"和"_tx"、而不是"..._cpsw9_..."、
- 此处 Rx 和 tx 不明确:例如、navss_main_cpsw5_rx、其 ID 为0x4a00至0x4a07、这是从 PSI-L 角度来看的源线程 ID。 因此、RX 代表此线程 ID 应该连接到的 uDMA 通道类型?
- navss_main_cpsw5_rx 和_tx 的线程 ID 计数与 CSL_PSILCFG_NAVSS_MAIN_CPSW_PSILS_THREAD_CNT 和 CSL_PSILCFG_NAVSS_MAIN_CPSW_PSILD_THREAD_CNT 不匹配(包含在 csl_psilcfg_thread_map.h 下的 soc src 下)
这将引出以下问题:
- 参考 EthFw 用户指南、在 TX QoS 部分下、它指出它分配并使用6个 TX 通道:这些相对通道 ID 是否基于给定内核的 RM BoardCfg?
- 参照同一节、它表示:"未标记数据包的优先级是 psilThreadId (DMA 通道 ID)"、但从绝对值的角度来看、这两个概念完全不相关、尤其是在涉及多个内核(具有不同的资源分配)时。
- 参考 《EthFw 用户指南》的 RX QoS 部分下、它提到了连接到不同处理实体的流 ID。 但是、我相信、任何给定的有效 RX 流 ID 都需要以下元素才能正常工作:
- UDMA RX 通道配有配置的"流量偏移"值和"流量范围"值、
- 具有 PSI-L 源线程(来自 CPSW9G PSILS 范围)和给定目标线程(在本例中为来自 PSILD 线程的 NAVSS_xxx_UDMAP 范围)的 PSI-L 对操作、
- 从两侧实时启用 PSI-L 线程。 在这种情况下、我从来没有见过任何函数调用会实时启用 PSILD (在 UDMA 端)线程(必须来自发送实体、对吗?)。
- 此外、在" Rx 服务质量 "图中显示的流量 ID 似乎都与不同的偏移量相关(图中从0到3、1到5、0、从左到右的0)。
- 这些因素导致以下问题:
- EthFw 中配置了多少个实际的 RX uDMA 通道、如果我们规定了一种使用所有资源的场景? 因为在本用户指南中、它只讨论流 ID、而不讨论 RX 信道 .
- 如果答案是正在配置多个 RX UDMA 通道、策略者/分类器/CPPI 主机端口如何知道通过哪个 RX 通道(即要使用的 PILS 线程)将入口数据从任何给定端口发送到正确的 RX 流量 ID? 策略者明确指出、它们基于 FlowID 来有效地对入口数据包进行分类、但示例中显示的流 ID (对于 J784S4、FlowIdOffset=114、 如此处所示)不是有效的 RX 通道 ID。
- 在 TRM、SDK 内核或文档中、术语似乎是这样 "主题 ID" 和 "流量标识" 被单独使用且似乎指的是相同的内容(即 uDMA RX 流 ID)、但这一点在任何地方都没有得到确认:您能否验证此假设或使其无效? 请参阅 TDA4AH TRM 的第12.2.2.3.6.1.13.2和12.2.2.3.6.1.13.3.1节。
提前感谢您的回答和抽出宝贵的时间。
此致