导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求助:关于Lwip协议栈移植的请教--关于包结构字节对齐的问

* 86204: 求助:关于Lwip协议栈移植的请教--关于包结构字节对齐的问题

   lovelabor 
lovelabor发表的帖子 

 求助:关于Lwip协议栈移植的请教--关于包结构字节对齐的问题
各位大虾,大家好。我在移植协议栈的时候,经常碰到一些莫名其妙的错误,比如说访问下面结构体中的 dipaddr 导致死机的问题(ip_addr_set(&(hdr->  dipaddr), ipaddr);),但实际上我已经使用了__packed 声明是字节对齐的咯,可在访问的时候还是有异常产生。
如果使用临时变量,通过内存拷贝可以解决该问题。真是比较怪啊:) 不知与我使用的芯片有没有关系(S3C44b0X)。

QQ:380920089
PACK_STRUCT_BEGIN
/** the ARP message */
struct etharp_hdr {
  PACK_STRUCT_FIELD(struct eth_hdr ethhdr);
  PACK_STRUCT_FIELD(u16_t hwtype);
  PACK_STRUCT_FIELD(u16_t proto);
  PACK_STRUCT_FIELD(u16_t _hwlen_protolen);
  PACK_STRUCT_FIELD(u16_t opcode);
  PACK_STRUCT_FIELD(struct eth_addr shwaddr);
  PACK_STRUCT_FIELD(struct ip_addr sipaddr);
  PACK_STRUCT_FIELD(struct eth_addr dhwaddr);
  PACK_STRUCT_FIELD(struct ip_addr dipaddr);
} PACK_STRUCT_STRUCT;
PACK_STRUCT_END

发表时间:2005年11月27日20:03:44

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  86952.[详细]我移植的时候是直接把它们都去掉了
摘要:对于我来说没什么大用......(20字)
- [embededman][1045次] 2005年12月16日

  87027.[详细]如下定义即可:
摘要:如下定义即可: PACK_STRUCT_BEGIN  PACK_STRUCT_FIELD __packed......(62字)
- [yqused][1085次] 2005年12月18日

[上一篇帖子]:请问大家一个问题用单片机控制学校的作息时间(功能能使电铃自动按时响、自动开关广播机)如果用DS130
[下一篇帖子]:给我一份,谢谢! xiaming_0701@163.com