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: 网络通信时,为什么接收时硬件计算了校验和

Part Number: TMS320C6657

TMS320C6657: 网络通信时,硬件能否自动计算发送数据包的checksum - 处理器论坛 - 处理器 - E2ETm 设计支持 (ti.com)

之前在这个贴子得到回复,C6657并没有专门的硬件外设来计算网络通信的checksum。

但是在我基于TI EMAC例程配置的工程中,接收数据包存放的缓冲区中存放了正确的header checksum值,这是为什么呢?

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

  • 您好,

    这是因为在TCP/IP协议栈中,checksum是一个非常重要的部分,用于检测数据包在传输过程中是否被篡改或损坏。因此,即使硬件没有专门的外设来计算checksum,TCP/IP协议栈也会在接收数据包时自动计算checksum,并将结果存储在数据缓冲区中。