lwIP(TCP/IP)协议栈移植(不包括网卡驱动)
(2010-04-06 19:38:49)
lwIP(TCP/IP)协议栈移植(不包括网卡驱动) 移植人员:侯光恩
一、lwIP 概述
lwIP是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。Lwip既可以移植到操作系统上,又可以在无操作系统的情况下独立运行.
LwIP的特性如下:
(1) 支持多网络接口下的IP转发
(2) 支持ICMP协议
(3) 包括实验性扩展的的UDP(用户数据报协议)
(4) 包括阻塞控制,RTT估算和快速恢复和快速转发的TCP(传输控制协议)
(5) 提供专门的内部回调接口(Raw API)用于提高应用程序性能
(6) 可选择的Berkeley接口API(多线程情况下)
(7) 在最新的版本中支持ppp
(8) 新版本中增加了的IP fragment的支持.
(9) 支持DHCP协议,动态分配ip地址.
以上内容摘自网络 关于ucos 上的lwip移植
二、移植介绍
整个移植过程主要参考网络上关于移植到ucos 的说明和源码。
1. 目录及文件介绍
原版的lwIP1.1.0包含两个目录src 和 doc
移植后增加如下文件和目录
[Arch]
Lib_arch.c本系统没用,系统中没有实现的C库函数可以写到这里
Sys_arch.c 移植的主要工作在这里,关于信号量、消息队列、任务创建
[RX4000] 项目目录
[Include]
[Arch]
cc.h 类型定义 大小端设置 PACK定义等
init.h
lib.h 跟Lib_arch.c对应 函数声明
perf.h 没用