下载后可任意编辑1、引言为了实现嵌入式系统终端连入互联网,而有必要为其引入了网络功能
μC/OS II 是一个 源代码开放的实时操作系统,但是它只是一个实时的任务调度及通信内核,并没有集成 TCP/IP 通信协议,为了实现网络功能,需要在 μC/OS II 移植一个轻量级的 TCP/IP 通信协议 LwIP
本文主要论述 μC/OS II 下通信协议 LwIP 的移植以及测试
2、LwIP 简介LwIP ( light weight IP)是瑞士计算机科学院的 Adam Dunkels 等开发的一套开放 TCP/IP 协议栈源代码
LwIP 既可以移植到操作系统上,又可以在无操作系统的情况下独立运行
LwIP 实现的重点是在保持 TCP/IP 协议主要功能的基础上减少对 RAM 的占用,这使 LwIP 适合在低端嵌入式系统中使用
其主要特点如下:(1)支持多网络接口下 IP 转发;(2)支持 ICMP 协议;(3)包括试验性扩展的 UDP;(4)包括简单的拥塞控制,RTT 估算和快速恢复和快速转发的 TCP;(5)提供专门的内部回调接口(Raw API)用于提高应用程序性能;(6)可选择的 Berkeley 接口 API;3、LwIP 协议栈移植到 μC/OS II 操作系统的具体实现3
1 嵌入式系统结构和 LwIP 接口整个嵌入式系统的结构如图 1 所示,由 ARM 微处理器、网卡、网络设备驱动、μC/OSII 操作系统、LwIP 协议栈和应用程序组成
图 1 嵌入式系统结构图LwIP 在设计时为了适应不同的操作系统,并没有在代码中使用和某个特定的操作系统 相关的系统调用和数据结构,而是在 LwIP 和操作系统之间提供了一个接口层(sys_arch interface),该接口主要实现的功能包括数据类型的定义、存储模式的选择、任务间的同步、 时间和内存的管理等