LWIP协议在STLite_OS20操作系统中的移植.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:431KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

LWIP协议在STLite_OS20操作系统中的移植.pdf

LWIP协议在STLite_OS20操作系统中的移植.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据LWIP协议在STLite/0S20操作系统中的移植摘要:介绍了免费的TcP/IP协议栈LwIP开发工具和环境,分析了如何实现L研P的移植,并Qu~来实现移植开源的TcP/lP协议栈I册P给出软件实现方案。SⅡj“e/0S20简介u订P协议简介3将LwIP协议移植到0S20系统第26卷2006年12月计算机应用樊滨温,夏先林(哈尔滨工业大学深圳研究生院,广东深圳518055)给出了一种嵌入式系统与网络互联的新思路。关键词:TCP/IP;s1“te/0S20;LwIP;移植中图分类号:TP316.8文献标识码:ALⅥP(LiglltLⅥP进程模式3)LwP的p坤ce$s消息队列等和代P/IP进程进行通讯。驱动层也可以驻留在1℃P/IP进程中,通过LⅥP提供的内部回调函数来实现QAMi5516芯片集成s120一也可以并发运行多个进程,进程分一个操作系统相关的系统调用和数据结构,而是在L聊P和一的接口。在LMP中使用semaphore实现同步和消息传递8ys_sem_f哦(),8ys_sem文章编号:100l一908l(2006)12z—0310一02近几年数字电视的迅速发展,如何在数字电视机顶盒的嵌入式系统中实现和Intemet的连接,实现有线电视网络和Intemet的初i卿融合以及数据之间交流,成了近年来的热点。本文就基于ST公司推出的适用于数字电视的嵌入式系统中lsrIute/Os20(简称0s20)是意法半导体(sT)公司开发出来的适用于数字电视机顶盒、数码相机等消费性电子的矾Ds嵌人式操作系统,实时性和可靠性经过实验验证。其主要特点如下:1)内核高效稳定;2)内核能支持尽可能多的任务;3)覆盖定时器、信号量、事件标志、消息队列和内存管理,还支持互斥型信号量。2LwIP主要特性g}ltIP)主要特性有:支持多网络接口下的IP转发;支持lcMP协议;支持uDP(用户数据报协议);支持TcP(传输控制协议);提供专门的内部回调接口(RawAPI)用于提高应用程序性能;可选择的Berkel。y接口API;支持PPP网络协议;支持DHcP协议,动态分配IP地址。在目前绝大多数TcP/IP协议栈中,一般有三种进程模式。1)TcP/IP协议的每一层是一个单独进程。链路层是一个进程,IP层是一个进程,TCP层是一个进程。这样的好处是网络协议的每一层都非常清晰,代码的调试和理解都非常容易,但是最大的坏处就是数据在各层之间传递时会引起上下文切换。对于操作系统来说,任务切换是要浪费时间的,过频的上下文切换是不可取的。2)另外一种方式是TcP/IP协议栈在操作系统内核当中。应用程序通过操作系统的系统调用和协议栈来进行通讯,这样TcP/IP的协议栈就限定于特定的操作系统内核了,如windows就是这种方式。model。所有TcP/IP协议栈都在一个进程当中.这样TcP/IP协议栈就和操作系统内核分开了r,而应用层程序既可以是单独的进程也可以驻留在TcP/lP进程中,如果应用程序是单独的进程可以通过操作系统的邮箱,本项目中采用的硬件平台为QAMi5516+DM9000,低优先级和高优先级。整个移植完后的嵌入式应用系统的结构如图1所示。3.1与操作系统的封装LwIP为了适应不同的操作系统,在代码中没有使用和某操作系统之间增加了一个操作系统封装层。操作系统封装层为操作系统服务(定时,进程同步,消息传递)提供了一个统采用Ⅲbox(在Os20中我们使用的是MessagcLWIP中的。mb慨”)。独立出来的操作系统封装层的原代码在s”.c文件和一些结构定义在sy8一arch.h头文件中.与操作系统相关的结构和函数主要分为:信号量、消息队列、创建新线程和定时器。(1)信号量LwIP西议栈之间的通信以及与应用层通信需要应用到信号量。因此需要在sys—arch.h中实现信号量结构体sys—semj,在8ysc文件中实现信号量处理菌数s弘_sem-new(),si印al()和8ys—amh—sem—w8it(),在OS20系统中已经覆盖到信号量,能实现对信号量的各种操作,并且功能和上面几个函数类似,利用系统中函数对上面几个函数进行封装即可实现。(2)消息队列Lw口中消息队列用来实现数据报文的缓冲和传递,因此要实现消息队列中消息结构体sys—mboxj和相对应的一系列操作函数8ys—mbox』ew(),8y8一mbol—h傥(),sys—mbox—p耐(),sys—arch-Inbox—fetch()。利用Os20中的对消息结构体的定ComputerApplicationsV01-26Dec.2006rnatashine@hotmail.comlwei收稿日期:2006一03—23;修订日期:20(】6—06—09作者简介:樊滨温(1964一),女,副教授,