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.

TMS320C6657: 网络通信时,硬件能否自动计算发送数据包的checksum

Part Number: TMS320C6657

基于TI的EMAC例程打通了底层通信,并且移植了LWIP协议栈。

目前,采用了软件计算下图ping响应包的两个checksum。

想咨询一下,TMS320C6657是否存在硬件外设支持对checksum的计算,无需软件编程实现。

  • 关于硬件支持数据包校验和计算的问题,TMS320C6657并没有集成专门的外设来处理数据包的校验和计算。

    在网络通信中,校验和计算通常是通过软件来完成的。您提到已经移植了LWIP协议栈,LWIP协议栈通常会提供相应的函数来计算和验证校验和。在使用LWIP协议栈时,您可以使用其提供的函数来计算和验证数据包的校验和,而无需自己编写计算校验和的代码。

    如果您希望加速数据包校验和的计算,可以考虑使用其他硬件加速器或专用网络处理器,这些设备通常具有硬件支持的校验和计算功能。但需要注意的是,这些硬件加速器或专用网络处理器可能需要额外的硬件接口和软件支持来与TMS320C6657进行集成。

    总结起来,TMS320C6657本身并没有集成专门的硬件外设来处理数据包的校验和计算。在使用LWIP协议栈时,您可以使用其提供的函数来计算和验证数据包的校验和。如果需要加速校验和计算,可以考虑使用其他硬件加速器或专用网络处理器,但可能需要额外的硬件接口和软件支持。

  • 在网上看到C6678好像有一个PA外设,C6657是没有吗?

  • 是的,C6657没有

  • 好的,谢谢回复~

  • 还有一个问题想请教一下,如果C6657并没有外设来计算checksum,为什么我根据emac例程配置完后,接收数据包存放的缓冲区中是正确的header checksum值呢?

    就像上面这个数据包,发送的时候checksum是0x0000,但C6657接收到之后,在数据缓冲区的checksum被自动计算了,并且验证过这个结果是正确的。