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 没用
sys_arch.h 跟Sys_arch.c对应的一些类型定义和宏定义
[Netif]

本文介绍了lwIP,一个用于嵌入式系统的开源TCP/IP协议栈,以及其移植到特定嵌入式操作系统的详细过程。主要内容包括lwIP的特性、移植涉及的目录和文件、移植关键函数解析、移植配置说明以及移植中遇到的问题和解决方案。移植过程中,作者强调了信号量、消息队列和任务创建的重要性,还讨论了内存分配、DHCP和DNS支持等问题。
最低0.47元/天 解锁文章
6059

被折叠的 条评论
为什么被折叠?



