下载此文档

LwIP移植心得.doc


文档分类:医学/心理学 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
LwIP移植心得
,总结下:
平台是LPC2136+ENC28J60,32K的RAM,软件是uCOS-II +LwIP 。
感觉主要解决两个问题:
操作系统仿真层的移植。这个基于uCOS-II的代码太多了。COPY下就行!
1,设备驱动的移植.
。作者已经给好了驱动的接口。
struct netif {
struct netif *next;
struct ip_addr ip_addr;
struct ip_addr netmask;
struct ip_addr gw;
err_t (* input)(struct pbuf *p, struct netif *inp);
err_t (* output)(struct netif *netif, struct pbuf *p,
struct ip_addr *ipaddr);
err_t (* linkoutput)(struct netif *netif, struct pbuf *p);
void *state;
#if LWIP_DHCP
struct dhcp *dhcp;
#endif
unsigned char hwaddr_len;
unsigned char hwaddr[NETIF_MAX_HWADDR_LEN];
u16_t mtu;
char name[2];
u8_t num;
u8_t flags;
};
主要就是:
err_t (* input)(struct pbuf *p, struct netif *inp);
这个是被驱动调用的,传递一个数据包给TCP/IP栈。
err_t (* output)(struct netif *netif, struct pbuf *p,struct ip_addr *ipaddr);
这个是被IP模块调用的,向以太网上发送一个数据包,函数要先通过IP地址获得解决硬件地址,然后发包。
err_t (* linkoutput)(struct netif *netif, struct pbuf *p);
这个是直接发送数据包的接口。
,这个文件相当于一个硬件抽象层。
static void low_level_init(struct netif *netif)
网卡初始化函数
static err_t low_level_output(struct netif *netif, struct pbuf *p)
链路层发送函数,实现err_t (* linkoutput)接口。
static struct pbuf *low_level_input(struct netif *netif)
得到一整帧数据
stat

LwIP移植心得 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人好用的文档
  • 文件大小27 KB
  • 时间2021-07-26