你好!!
因此、我一直使用 PA EMAC 示例作为在我的 PC 和 K2E 的 ARM 内核之间传输数据的基础。
我的问题很简单、当我尝试以高于200-300 Mb/s 的速率传输 UDP 数据包时、我会丢失大量数据包。
我知道问题不在数据包加速器中、而是在队列管理和/或中断处理中、因为我能够以更高的位速率看到离开 PA 的数据包。
我的系统前景如下所示
PA->Que 704 ->累加器->中断(只释放去饱和 等等,这里没什么大做的)
我已经使用了多个累加器配置(较大的页条目、 中断的时间延迟等)、但我总是会丢失数据包。
我的问题是
- 队列管理器是否足够快、只需一个队列即可实现1 Gb/s?
- 我如何检查离开 PA 后数据包丢失的来源?
- 如果单个队列的速度不够快、我可以使用多个累加器通道来创建一个交替加载和复位机制、该机制利用2个2通道2中断、即半个数据包在队列2中占一半?
- 没有使用 NDK 或 Linux、我还能以其他方式获得1Gb/s 吗?
以下是我的系统规格
K2e ARM 内核0
PDK 4.0.2
我的应用是裸机、但使用了90%的 PA EMAC 示例代码
发送并记录。 以更低的速率完美工作
原始 PA_EMAC 示例具有相同的问题
此致
