大家好、当我在 AM6442 RT 内核上测试 igh EtherCAT 时会出现问题。
1. RT 内核来自 ti-processor-sdk-linux-rt-am64xx-evm-08.01.00.39, 配置 CONFIG_PRETER_RT 被打开
2.使用 cyclictest 测试 RT 内核
CPU0、CPU1的实时性能不是很好。

隔离 CPU1,CPU1的实时性能优于 CPU0。

IGH EtherCAT 测试
我将电机控制模块(硬件)连接到 cpsw 网络端口或 PRU 网络端口。
使用 EtherCAT 通用驱动 程序、该驱动程序基于 cpsw 网络端口驱动程序或 PRU 网络端口驱动程序。
我 :了一个应用程序、测试 IGH EtherCAT 的第一个 clock_nanosleep (1ms) 、然后通过 EtherCAT API 在 每个周期获取和更改电机状态。
此应用程序将始终计算 每个周期消耗的时间 并记录最小/最大值,、然后每1秒将结果打印到 UART 控制台。
3.1请勿 隔离 CPU1,、然后运行 IGH EtherCAT 测试应用
无论是 使用 cpsw 网络端口还是 PRU 网络端口、某些周期的耗时都远大于1ms。

3.2隔离 CPU1,、然后在 CPU1上运行 IGH EtherCAT 测试应用
大多数周期的耗时更好,在1.2ms 左右。

但某些 时间段 的功耗远远大于1ms、 跳过 EtherCAT 不匹配的数据报。
由于需要隔离 CPU1、 因此会经常出现有关通过 EtherCAT 跳过不匹配数据报的警告。
无论使用 cpsw 网络端口还是 PRU 网络端口测试 igh EtherCAT、都会出现此问题。

使用 USB 以太网端口(AX88772C)进行测试
大多数周期的耗时更好,在1.2ms 左右。
即使隔离 CPU1、 也很少出现关于跳过 EtherCAT 不匹配的数据报的警告。

如果 cpsw 网络端口驱动程序或 PRU 网络端口驱动程序限制了 EtherCAT
3.3如果可以在 AM6442 RT 内核上提供某些 EtherCAT 测试结果、该结果如何?
4.如何提高 AM6442 RT 内核的实时性能
除了 隔离 CPU1之外、还有其他方法可以提高 AM6442 RT 内核的实时性能吗?