LwIP Platform Developers Manual 中文翻译(8)

2020-12-22 08:09

节。

你可以通过定义LWIP_CHKSUM_ALGORITHM的值来选择相应的算法(比如#define LWIP_CHKSUM_ALGORITHM 2来选择算法2)。

你还可以使用你自己编写的校验和程序(比如,使用汇编来加32位的数据并带有进位)。

u16_t my_chksum(void *dataptr, u16_t len);

#define LWIP_CHKSUM my_chksum

结构的封装

lwIP会访问16或32位的协议头数据,该数据在内存中可能是非对齐的。如果你的处理器不能从非对齐的地址进行读和写,那么你需要告诉你的编译器该数据是非对齐的并且编译器必须产生多余的字节或字来加载/存储访问它。在所有的协议结构体中,16/32位的值都是16位对齐的,因此选择2字节对齐是安全的。通常当使用以太网接口时,数据是4字节来对齐的(MEM_ALIGMENT=4)。以太网头(不包含VLAN)是14个字节,那么你应该/必须设置ETH_PAD_SIZE的值为2,因此IP头和更高层数据都是4字节对齐的,这样你就不需要再封装了。

在任何情况下,为了使系统运行稳定,你可以设置结构的封装的值不同于1!


LwIP Platform Developers Manual 中文翻译(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:交通处罚单管理系统(C程序设计)修改版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: