打印
[技术问答]

NUC980的网口的发送描述符的缓冲区地址要求 4字节对齐的问题

[复制链接]
4906|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海滨消消|  楼主 | 2021-9-27 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
NUC980的网口的发送描述符的缓冲区地址要求 4字节对齐的问题,因为我用的协议栈里面要求IP数据段4字节对齐,加上以太网14字节,如果发送缓冲区要求4字节对齐,带来的问题我必须要完成一次拷贝,不能把数据缓冲区直接发送
另外一个问题,我看接收缓冲区的地址好像没有要求4字节对齐。
Receive Buffer Starting Address [31..0]
Transmit Buffer Starting Address [31..2]

使用特权

评论回复
沙发
suw12q| | 2022-12-9 11:53 | 只看该作者
这种操作好像没有4字节对齐一说吧

使用特权

评论回复
板凳
w2nme1ai7| | 2022-12-9 13:05 | 只看该作者
你可以试试,如果不对齐,是否数据正确呗

使用特权

评论回复
地板
p0gon9y| | 2022-12-9 14:14 | 只看该作者
如果协议栈里要求4字节对齐,估计是有需要的,不然数据会串位置的

使用特权

评论回复
5
kaif2n9j| | 2022-12-9 17:20 | 只看该作者
你用sprintf组包一下,但是好像也要4字节对齐吧,我记得是有格式化函数的,就是4字节对齐操作

使用特权

评论回复
6
l1uyn9b| | 2022-12-9 19:27 | 只看该作者
对,不能直接发送了,需要整理一下数据才行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

216

主题

1526

帖子

2

粉丝