pdf

LwIP在uC/0S II 操作系统中的实现

  • 1星
  • 日期: 2018-07-31
  • 大小: 123.52KB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: LwIP

本文先给出了嵌入式操作系统的基本概念,然后对嵌入式操作系统uC/0S II 网络平

台做了一些简介,介绍了TCP/IP 协议LwIP 开发工具及开发环境,并在此基础上分析了在嵌入式操作系统中如何移植实现TCP/IP 协议,给出详细的实现方案和测试用例及结果。

关键词:TCP/IP; 嵌入式系统; uC/0S II; LwIP

Implementation of LwIP in uC/0S II LUO Jun-hong ,XIE Yu-qing , SHU -Hu , ZHANG You-wei (Institute of Information Engineering,Information Engineering University, Zhengzhou 450002,China) Abstract: In the paper, the author introduces the definition of embedded Operate System ,at the base of introducig briefly uC/0S II Internet platform, and simple

TCP/IP protocol LwIP and the developing instrument and development environment;

author explained the implementation method and development course of embedded TCP/IP protocol in detail,at last author analysed test example and the result.

Key words: TCP/IP;Embedded Operate System;uC/0S II;LwIP

文档内容节选

LwIP 在 uC0S II 操作系统中的实现 罗军宏,谢余强,舒辉,张有为 信息工程大学 信息工程学院,河南 郑州 450002 摘要:本文先给出了嵌入式操作系统的基本概念,然后对嵌入式操作系统 uC0S II 网络平 台做了一些简介介绍了 TCPIP 协议 LwIP 开发工具及开发环境,并在此基础上分析了在嵌 入式操作系统中如何移植实现 TCPIP 协议,给出详细的实现方案和测试用例及结果 关键词:TCPIP 嵌入式系统 uC0S II LwIP 中图分类号 TP3095 文献标识码 A Implementation of LwIP in uC0S II LUO Junhong XIE Yuqing SHU Hu , ZHANG Youwei Institute of Information Engineering,Information Engineering University Zhengzhou 450002,China Abstract In the paper the author introduces ......

LwIP 在 uC/0S II 操作系统中的实现 罗军宏,谢余强,舒辉,张有为 (信息工程大学 信息工程学院,河南 郑州 450002) 摘要:本文先给出了嵌入式操作系统的基本概念,然后对嵌入式操作系统 uC/0S II 网络平 台做了一些简介,介绍了 TCP/IP 协议 LwIP 开发工具及开发环境,并在此基础上分析了在嵌 入式操作系统中如何移植实现 TCP/IP 协议,给出详细的实现方案和测试用例及结果。 关键词:TCP/IP; 嵌入式系统; uC/0S II; LwIP 中图分类号 TP309.5 文献标识码 A Implementation of LwIP in uC/0S II LUO Jun-hong ,XIE Yu-qing , SHU -Hu , ZHANG You-wei (Institute of Information Engineering,Information Engineering University, Zhengzhou 450002,China) Abstract: In the paper, the author introduces the definition of embedded Operate System ,at the base of introducig briefly uC/0S II Internet platform, and simple TCP/IP protocol LwIP and the developing instrument and development environment; author explained the implementation method and development course of embedded TCP/IP protocol in detail,at last author analysed test example and the result. Key words: TCP/IP;Embedded Operate System;uC/0S II;LwIP 0 引言 随着嵌入式系统与网络的日益结合,在嵌入式实时操作系统中引入 TCP/IP 协议栈,以 支持嵌入式设备接入网络,成为嵌入式领域重要的研究方向。嵌入式系统由于其体积小、成 本低、开发方便、应用成熟等优良的特点已经在民用和工业等许多领域得到了广泛的应用。 本文给出了基于嵌入式操作系统 uC/0S II 的 TCP/IP 协议的实现方案。 1 嵌入式系统 嵌入式系统是指用于执行独立功能的专用计算机系统。它由微电子芯片(包括微处理器、 定时器、序列发生器、控制器、存储器、传感器等一系列微电子芯片与器件)和嵌入在 ROM、 RAM 和 FLASH 存储器中的微型操作系统、控制与应用软件开发来实现各种自动化处理任务的 电子设备或装置。嵌入式系统以应用为中心,以半导体技术、控制技术、计算机技术和通讯 技术为基础,强调软硬件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、 体积和功耗等要求。 2 基于μC/OS-II 的网络平台简介 μC/OS-II 是专门为单片机和嵌入式应用设计的实时操作系统内核,已被广泛应用到各 种嵌入式系统中。它支持 x86、ARM、PowerPC、MIPS 等众多体系结构,其稳定性和可用性是 经过实验验证的。μC/OS-II 是一个公开源代码的占先式多任务的微内核 RTOS,其性能和安 全性可以与商业产品竞争。μC/OS-II 的特点可以概括为以下几个方面:公开源代码,代码 结构清晰、明了,注释详尽,组织有条理,可移植性好;可裁剪,可固化;内核属于抢占式, 最多可以管理 60 个任务,覆盖定时器、信号量、事件标志、邮箱、队列和内存管理,还支 持互斥型信号量(Mutual Exclusion Semaphore)。另外μC/OS-II 的最小内核可编译至 2KB, 这对于嵌入式有限的资源是非常重要的。 3 开源 TCP/IP 协议栈 LwIP 的具体实现 TCP/IP 协议比较复杂,在缺乏功能强大的操作系统支持的嵌入式设备上实现并非易事, 对于特定的应用,嵌入式设备往往只需要 TCP/IP 协议中某一小部分即可,这里根据自身的 要求,采取了在现有简化的 TCP/IP 协议 LwIP 的基础上对其进行改编。 LwIP 是瑞士计算机科学院(Swedish Institute of Computer Science)的 Adam Dunkels 等开发的一套用于嵌入式系统的开放源代码 TCP/IP 协议栈。LwIP 的含义是 Light Weight(轻 型)IP 协议。LwIP 可以移植到操作系统上,也可以在无操作系统的情况下独立运行。LwIP TCP/IP 实现的重点是在保持 TCP 协议主要功能的基础上减少对 RAM 的占用,一般它只需要 几十 K 的 RAM 和 40K 左右的 ROM 就可以运行,这使 LwIP 协议栈适合在低端嵌入式系统中使 用。 3.1 TCP/IP 协议的实现 在整个协议的实现方案中,可以把不同部分的功能用不同的任务来完成,由一个简单 的任务管理器来统一管理和调度。 任务管理器 ARP 模块 IP 模块 ICMP 模块 TCP 模块 UDP 模块 图 1 任务管理器与各个模块之间的关系图 整个协议被划分为地址解析协议(Address Resolution Protocol,简写 ARP)模块、网际 协议(Internet Protocol, 简写 IP)模块、互联网控制报文协议(Internet Control Message Protocol,简写 ICMP)模块、用户数据报协议(User Datagram Protocol,简写 UDP)模块和 传输控制协议(Transfer Control Protocol, 简写 TCP)模块。在 LwIP 的基础上,对各个模块 根据相应的需求做适当的裁剪,尽量用最少的代码实现以满足嵌入式系统有限资源的要求。 ARP 模块:该模块的主要功能是完成目的 IP 地址和 MAC 地址的映射,为了提高网络传输 速度和效率,维护一个常用的目的地址的 ARP 高速缓存表。 IP 模块: 该模块实现 IP 的最基本的功能:发送、接收和转发数据包,但不能发送和接 收分片的 IP 数据包以及处理带选项的数据包。 ICMP 模块: 该模块帮助发送方测试连接性或发现故障,与 IP 模块协同工作。 UDP 模块:该模块是一个实现在两个不同进程间进行多路转发数据包的简单协议。每一 个 UDP 的状态保存在 PCB 结构中,多个 PCB 链接成一个链表,当有 UDP 数据包到达时搜索这 个链表。 TCP 模块: 该模块是一个传输层协议,对应用层提供一个可靠的字节流服务。TCP 比其 它协议复杂,占有总代码量的百分之五十。 3.2 LwIP 协议的移植 整个嵌入式应用系统的结构如(图 2)所示.由 MCU、网卡、网络接口驱动、µC/OS-Ⅱ操 作系统、LwIP 协议栈和应用程序六个部分组成。 应用程序(网络或非网络应用) LwIP 协议栈 μC/OS-Ⅱ 网络接口驱动 1 …… 网络接口驱动 n MCU 网络芯片 图 2 系统示意图 3.3 应用程序的接口 应用程序的接口由 API 来实现。API 的实现包括两个部分:一部分 API 作为库来实现与 应用程序的连接,另一部分在 TCP/IP 处理中实现,两部分之间使用 ICP 机制进行通信。两 部分的关系如图 3 所示。实现 ICP 机制有三种方式:共享内存、消息传递和旗语。基本的设 计原则是让尽可能多的工作在应用处理中完成,少部分在 TCP/TP 处理中完成。运行在应用 处理上的 API 和运行在 TCP/TP 处理上的 API 之间使用一个简单的通信协议进行数据的传输。 在 TCP/TP 处理中的 API 执行的操作和返回值通过消息传递送到应用处理中,消息应该包括 被执行的操作类型和操作参数。 TCP/IP 处理进程 应用程序 ICP API API 3.4 与物理层的接口 图 3 API 实现分割原理图 为了使网络接口驱动和协议层彼此保持独立,把网络接口驱动和协议层分开。在 LwIP 中可以有多个网络接口,每个网络接口都对应了一个 struct netif,这个 netif 包含了相 应网络接口的属性、收发函数。网络接口驱动和协议层之间的通信通过相应的 API,比如当 网络接口驱动准备好向协议层发送数据时,驱动程序(驱动程序工作在 IP 协议模型的网络接 口层,在驱动中主要实现网络接口的收、发、初始化以及中断处理)将调用一个 API 提供的函 数 netif_output(),将数据传给协议层。这种独立性使得加载一个新的协议或接口驱动非 常方便。 4 LwIP 协议的测试 为了进行应用程序的测试,首先在µC/OS 中初始化 LwIP,创建相应的任务,值得注意的 是 LwIP 的初始化必须在µC/OS-Ⅱ完全启动之后,也就是在任务中进行,因为它的初始化用 到了信号量等与操作系统相关的操作。 本系统使用 EVB2107(Evaluation Board2107)评估板进行应用程序的调试,EVB2107 以微控制器 MMC2107 为核心,外扩 2MB FLASH 和 1MB SRAM 存储器,用来存放调试过程中所 用到的系统软件、用户代码和数据。该评估板不含网卡部分,网卡由自己实现。 测试时,可以把网卡的 IP 地址设置为任意值,在 CodeWarrior IDE 的控制台窗口中运 行 ping IP 地址 –l 2000 –t,不间断用长度为 2000 的数据报进行 ping 测试,同时使用 tftp 客户端软件给该 IP 地址下载一个几兆的程序,发现一切工作正常,说明 ARP、ICMP、 IP、TCP 协议都已正确运行。 5 结束语 以太网作为目前应用最为广泛的局域网技术,在工业自动化和过程控制领域得到了越 来越多的应用。同时,随着 Internet 的普及,现代通信技术的进步,基于 TCP/IP 和 Client/Server 架构的分布式监控技术也日趋成熟。借助以太网和 Internet 技术,把嵌入 式系统连接到 Internet 上,已成为嵌入式系统今后发展的一个重要的方向,而且也将成为 今后嵌入式系统必须具备的功能之一。 参考文献: [1] Douglas E.Comer.用 TCP/IP 进行网际互联第一卷:原理、协议与结构(第四版)[M] . 电子工业出版社,2001 [2]JEAN J.LABROSSE.μC/OS-II—源代码公开的实时嵌入式操作系统[M] .中国电力出版 社,2001 [3]马鸣锦,蒋烈辉.基于 MCORE 微控制器的嵌入式系统[M] .国防工业出版社,2003 [4]嵌入式系统 TCP/IP 应用层协议,电子工业出版社,【美】M.Tim Jones 著 [5]嵌入式系统开发圣经,中国青年出版社,探矽工作室著,2002.1 作者简介: 罗军宏,女,1976 年生,汉族,硕士,讲师,主要研究方向为网络通讯。 谢余强,男,1964 年生,汉族,硕士,教授,主要研究方向为网络安全与计算机软件应用。 舒辉,男,1974 年生,汉族,博士,副教授,主要从事并行编译与网络安全方面的研究。 张有为,男,1975 年生,汉族,硕士,讲师,主要从事嵌入式系统的研究。 通信地址:郑州市 1001 信箱 718 分箱 邮编 450002 联系电话:0371-5019762 电子信箱:luobei19760120@sina.com.cn
更多简介内容

推荐帖子

如何通过元件摆放来改善电路板的EMI?
在设计好电路结构和器件位置后,PCB的EMI把控对于整体设计就变得异常重要。如何对开关电源当中的PCB电磁干扰进行避免就成了一个开发者们非常关心的话题。在本文中,小编将为大家介绍如何通过元件布局的把控来对EMI进行控制。 元器件布局实践证明,即使电路原理图设计正确,印制电路板设计不当,也会对电子设备的可靠性产生不利影响。例如,如果印制板两条细平行线靠得很近,则会形成信号波形的延迟,在传输线的
Aguilera 【模拟与混合信号】
TWS耳机拆机
前一段时间将TWS耳机的充电盒拆机,今天发现耳机也很容易拆,就将耳机也拆了。很多耳机是使用胶水固定的,很难在不破坏的情况下拆开,而这个耳机只使用了卡扣,非常容易拆开。   耳机由三个部分组成:电池、蓝牙、发声单元。     电池容量是 148mWH,也就是40mAH。按照10mA工作电流算,正常使用时间是3-4小时。     蓝牙部分
dcexpert 【以拆会友】
SensorTile.Box套件操作模式之编程模式试用
本帖最后由 lvqy 于 2020-5-19 17:24 编辑 # 试用编程模式 # 下载开发源码 下载了文件:     en.FP-SNS-STBOX1_firmware.zip 解压后,在     STM32CubeFunctionPack_STBOX1_V1.3.0\Projects\STM32L4R9ZI-SensorTile.box\Applications\BLESens
lvqy ST MEMS传感器创意设计大赛专区
常见RF干扰产生的原因
     如今可能造成射频干扰的原因正不断增多,有些显而易见容易跟踪,有些则非常细微,很难识别发现。虽然仔细设计基站可以提供一定的保护,但多数情况下对干扰信号只能在源头处进行控制。本文讨论射频干扰的各种可能成因,了解其根源后将有助于工程师对其进行测量跟踪和排除。   射频干扰信号会给无线通信 基站覆盖区域内的移动通信带来许多问题,如电话掉线、连接出现噪声、信道丢失以及接收语音质量很差等,而造
火辣西米秀 RF/无线
winxp系统连接服务器丢包解决方法
winxp系统连接服务器丢包解决方法 MFC编写一个打开网页的程序,发生异常没有获取到数据。 分析步骤: 1. 用getLastError()获取到的信息,(2)- 系统找不到指定的文件。 2. 用浏览器打开网页测试,下载一个压缩包,有时能下载完整,比如300KB,有时20KB。发现数据没有下载完整 3. 在另外的电脑浏览器测试,打开网页,一切正常(txwtech)。
txwtech 综合技术交流
MSP430电池电压采集Proteus仿真程序
MSP430电池电压采集仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 单片机源程序如下: #include #define uchar unsigned char #define uint unsigned int uchar const table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x0
Jacktang 【微控制器 MCU】

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })