|  客服中心  |  合作联系
搜刊网
学术热点
行业资讯
TCP/IP协议栈在嵌入式实时操作系统中的移植与实现
发布时间:2023-10-16 来源: 访问:
摘要:LwIP是一套用于嵌入式系统的开源、精简后的TCP/IP协议,具有移植性强、资源占用率低等特点。基于嵌入式系统的网络通信需要,本文论述了LwIP在uC/OS操作系统和S3C4510B处理器平台的实现方法,完成了LwIP的移植,为嵌入式系统与Internet网络互联提供了一种可行的解决方案。

关键字:LwIP; uC/OS; S3C4510

中图分类号:TP368.2    文献标识码:A
随着互联网技术及嵌入式系统智能化技术的不断发展,嵌入式系统的网络通信功能得到广泛应用并成为研究热点,嵌入式系统实现以太网通信,主要技术难点在于如何利用其有限的硬件资源来实现TCP/IP协议。

在32位ARM嵌入式系统中,主要通过嵌入式多任务操作系统对TCP/IP协议进行处理,从而实现网络通信功能。在嵌入式系统中常用的Linux操作系统及uClinux操作系统中都集成了完整的TCP/IP协议,但其占用空间大(网络部分源代码约6MB)、实现过程复杂。因此,LwIP作为一种适合嵌入式系统硬件特点的,简化后的TCP/IP协议(源代码约1MB),在嵌入式系统中得到广泛应用。

本文以嵌入式实时操作系统uC/OS和网络处理器S3C4510B作为软、硬件平台,在此基础上移植了LwIP协议,实现了嵌入式系统的以太网通信功能。

1 LwIP协议简介
LwIP是Light Weight IP(轻量级IP协议)的缩写,它是由瑞士计算机科学院(Swedish Institute of Computer Science)Adam Dunkels等开发,主要用于嵌入式系统的开源TCP/IP协议栈。LwIP可以移植到各种操作系统上运行,也可以在无操作系统的环境下独立运行,其特点是在保留TCP/IP协议主要功能的基础上对完整的TCP/IP协议栈进行了裁剪,从而减少对系统硬件资源占用,运行LwIP一般只需要几十KB的RAM空间和四十KB的ROM空间,这使得LwIP可以方便地移植到基于单片机或ARM的嵌入式系统中。

2 移植LwIP的软硬件平台
uC/OS是Micro Control Operation System的缩写,它是由美国人Jean.J.Labrosse编写的一种抢占式实时多任务内核,具有高度可移植性,适用于没有存储管理单元MMU的嵌入式处理器。uC/OS内核提供了任务调度、时间管理、任务间同步与通信、内存管理和中断服务等嵌入式实时操作系统的基体功能[1]。

S3C4510B处理器是三星公司生产的基于ARM7TDMI内核、针对网络应用的嵌入式处理器,S3C4510B内嵌一个可以10M/100M速率工作在半双工或全双工模式下的以太网控制器,并提供了媒体独立接口(MII --Media Independent Interface)[2]。从硬件的角度看,以太网接口电路主要由MAC控制器和物理层接口两部分构成,S3C4510B片内已经包含了MAC层控制器,只需外接一片物理层接口芯片(本系统中采用DM9161)就构成了完整的以太网接入通道。

本文以S3C4510B处理器作为硬件平台,uC/OS操作系统作为软件平台,研究LwIP嵌入式TCP/IP协议栈与uC/OS操作系统接口函数的编写,并根据S3C4510B处理器以太网模块工作原理,设计合理的网络接口函数,从而实现LwIP在S3C4510B和uC/OS平台的移植和实现。

3 LwIP的移植流程
如图1所示,从uC/OS、S3C4510B硬件平台和LwIP三者的关系看,移植工作主要集中在两个部分(图中虚线箭头部分):一方面,LwIP工作在uC/OS之上,为了系统的可移植性,LwIP中划分出了操作系统模拟层,由该层向上提供了进程间通信、任务调度等操作系统的标准服务,移植时需使用实际操作系统的相关函数来实现模拟层,另一方面,S3C4510处理器内部提供了MAC控制器并外接了物理层芯片DM9161,LWIP的移植还需设计相应的底层硬件驱动函数[3]。



图1 软硬件系统结构框图

Fig.1 Block diagram of hardware/software system

3.1 编写LwIP与UC/OS操作系统接口函数
LwIP在设计时已经考虑了系统的可移植性,为了方便LwIP移植,和操作系统相关的函数调用及数据结构被划分到操作系统模拟层(operating system emulation layer),操作系统模拟层使用统一的接口向上提供创建进程、进程间消息传递等由操作系统提供的服务,应根据uC/OS的相关系统服务函数来实现LwIP的模拟层,移植过程如下:

(1)定义数据类型和数据存储格式

typedef unsigned char          u8_t;

typedef char                   s8_t;

typedef unsigned short         u16_t;

typedef short                  s16_t;

typedef unsigned int           u32_t;

typedef int                    s32_t;

(2)任务间通信方式的实现

uC/OS操作系统已经包含了LwIP需要使用的信号量和邮箱这两种进程间消息传递方式,移植工作主要使用uC/OS中的系统服务函数来实现LwIP模拟层接口函数,供LwIP上层函数调用,应注意uC/OS中提供的函数和LwIP模拟层接口函数参数和返回值并不统一,应根据模拟层接口函数的格式对函数执行结果(返回值)等做出相应调整,各函数的对应关系如表所示。

表1 接口函数比较表

Tab.1 Comparing between interface function

LwIP模拟层接口函数名称

函数功能描述

需调用的uC/OS实现函数

sys_sem_new       

新建信号量

OSSemCreate

sys _sem_free

释放信号量

OSSemDel

sys_sem_signal

发送信号量

OSSemPost

sys_arch_sem_wait       

等待信号量并阻塞线程

OSSemPend

sys_mbox_new

建立邮箱(向邮箱链表申请邮箱)

OSQCreate创建邮箱链表

sys_mbox_post

投递消息到邮箱

OSQPost

sys_arch_mbox_fetch

等待邮箱中的消息并阻塞线程

OSQPend

3.2 编写LwIP与uC/OS操作系统接口函数
S3C4510处理器片内集成了BDMA(Buffered DMA)模块和MAC控制器,MAC控制器和外接的物理层芯片DM9161相连,MAC控制器通过响应BDMA的数据准备完毕信号从BDMA接收数据并发送出去,或将接收到的数据发送给BDMA[4]。网络设备接口函数设计分为建立网络接口初始化函数、建立数据包发送函数、数据包接收函数和建立网络接收/发送中断服务程序四个部分[5]:

(1)建立网络接口初始化函数,实现流程如下:

//1.复位DM9161和MAC控制器

ResetPHY();

MACCON = Reset;

//2.初始化BDMA接收和发送缓冲区描述符,使每个描述符指向正确的缓冲区地址

InitDescriptors ();

//3.设置CAM地址

CAM_set();

//4.初始化MAC、BDMA控制器寄存器初始值

BDMATXCON = gBDMATXCON;

MACTXCON = gMACTXCON;

BDMARXCON = gBDMARXCON;

MACRXCON = gMACRXCON;

//5.打开BDMA接受中断并设置为IRQ模式

INTMOD &= 0xfff0ffff ;

INTMSK &= 0xfff0ffff ;

(2)建立数据包接收函数

网络数据包接收过程开始于BDMA产生数据包接收中断,中断服务程序向处于阻塞状态的以太网接收进程发送信号量hEthernetInput,接收线程收到该信号量后调用low_level_input函数将接收到的数据从BDMA缓冲区转移到pbuf链表中供上层函数使用,数据包接收函数的实现过程如下:
相关文章
热门资讯
摘要:9月28日-29日,《两岸关系》杂志社社长任勉一行3人来漯河临颍就陈星聚杯太极拳比赛筹备工作情况进行调...
精品推荐
摘要:摘 要:健康的心理素质是健康人的必备素质。在学科教学中进行心理健康的教育,是心理健康教育的重要途径...
热门期刊
火花火花
《火花》杂志,于1958年经国家新闻出版总署批准正式创刊,CN:14-1037/I,本刊在国内外有广泛的覆盖面,题材新颖,信...
解放军理论学习解放军理论学习
《解放军理论学习》杂志,于2001年经国家新闻出版总署批准正式创刊,CN:11-5384/D,本刊在国内外有广泛的覆盖面...
中外医学研究中外医学研究
《中外医学研究》杂志,于2003年经国家新闻出版总署批准正式创刊,CN:23-1555/R,本刊在国内外有广泛的覆盖面,题...
中华文化画报中华文化画报
《中华文化画报》(月刊)创刊于1993年,是由中国艺术研究院主办。是一本图文并茂地解读中华传统文化艺术、展示...
黑龙江水利科技黑龙江水利科技
《黑龙江水利科技》杂志,于1973年经国家新闻出版总署批准正式创刊,CN:23-1269/TV,本刊在国内外有广泛的覆盖面...
野草野草
《野草》杂志,于1985年经国家新闻出版总署批准正式创刊,CN:33-1038/I,本刊在国内外有广泛的覆盖面,题材新颖,信...

友情链接
中教杯 国家新闻出版总署 中国知网 万方数据 维普网 中国科学院 中国国家图书馆 央视英文版 中国留学网 中青网 中国国家人才网 中国经济网 中国日报网 中国新闻网 中国学术期刊网
关于我们
平台简介
诚聘英才
企业文化
竞争优势
版权信息
服务条款
客服承诺
常见问题
版权声明
合作加盟
期刊加盟
广告服务
联系我们
网站导航
期刊大全
论文下载
课题申报
学术会议
编辑QQ
编辑联络
2007-2023
中文学术期刊检索机构
bianjibu777@qq.com
联系我们

版权所有©2007- 2023 中国学术期刊网(qikanw.com) All Rights Reserved 京ICP备2021008252号
本站是学术论文网络平台,若期刊网有侵犯您的版权,请及时与期刊网客服取得联系,联系信箱: bianjibu777@qq.com    
中国学术期刊网