《嵌入式Linux网络编程.pdf》由会员分享,可在线阅读,更多相关《嵌入式Linux网络编程.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式嵌入式Linux网络编程网络编程成都华清远见王海宁2版权版权华清远见嵌入式培训中心版权所有;华清远见嵌入式培训中心版权所有;未经华清远见明确许可,不能为任何目的以任何形式复制未经华清远见明确许可,不能为任何目的以任何形式复制或传播此文档的任何部分;或传播此文档的任何部分;本文档包含的信息如有更改,恕不另行通知;本文档包含的信息如有更改,恕不另行通知;保留所有权利。保留所有权利。内容大纲物联网概述物联网的历史物联网的分层模型及其特点如何定制开发一款嵌入式Linux终端产品嵌入式linux的特点嵌入式Linux产品开发流程嵌入式Linux网络编程Socket介绍相关系统调用3物联网概述物联网
2、的历史41999年”internet of thing”2005年ITU以物联网为标题做报告2009年2月IBM公布“智能地球”策略2009年8月物联网概念正式纳入政府工作报告q 计算机互联网的外扩,计算机互联网的外扩,传感网传感网q 射频识别技术(射频识别技术(RFID)、传感器技术、)、传感器技术、纳米技术、智能嵌入技术将到更加广泛纳米技术、智能嵌入技术将到更加广泛的应用的应用q 物联网指的是将无处不物联网指的是将无处不在在的的末端设备和设施末端设备和设施,实现对实现对“万“万物物”的的“高效“高效、节节能、能、安全安全、环环保保”的的“管“管、控控、营”一体化营”一体化物联网概念物联网应
3、用前景分析5q美国权威咨询机构FORRESTER预测:到2020年,世界上物物互联的业务,跟人与人通信的业务相比,将达到30比,因此,“物联网”被称为是下一个万亿级的通信业务。q“物联网”被称为继计算机、互联网之后,世界信息产业的第三次浪潮。物联网概念中国移动定义的物联网结构6物联网概述感知层介绍7公共感知层物联网概述网络层在中国主要包括三张网互联网互联网移动电移动电信信网网广播广播电视电视网网所谓三网,是指互联网、电信网和广播电视网;三网融合指电信网、广播电视网、互联网高层次业务应用的融合。表现为技术上趋向一致,网络层上可以实现互联互通,业务层上互相渗透和交叉,应用层上使用统一的通信协议。物
4、联网概述三网融合下物联网模型9家庭网关家庭网关SMSS互联网电视互联网电视物联网控制平台物联网控制平台手手机机PC电视电视门户门户网网站站wap网网站站三三网网融合下融合下物联网物联网系统发展方向系统发展方向物联网概述应用层介绍10物联网概述物联网终端是一个典型的嵌入式系统。它融合了嵌入式处理器,嵌入式操作系统,嵌入式GUI图形处理,具备相应的编码解码,网络数据传输,设备识别等功能。如何去开发一款嵌入式产品?11如何定制开发嵌入式Linux终端产品嵌入式Linux定制的一般步骤明确定制的目的选择交叉编译工具链BootloadKernelC标准库Busybox和文件系统驱动程序应用处理逻辑程序如
5、何定制开发嵌入式Linux终端产品Bootload解决平台的差异性在系统引导阶段,成功初始化关键资源BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。常见的bootloader:U-BOOT、vivi如何定制开发嵌入式Linux终端产品Kernel根据实际功能的需求配置配置系统基本结构Makefileconfig.inMake menuconfig如何定制开发嵌入式Linux终端产品C标准库特指系统运行库如何定制开发嵌入式Linux终
6、端产品Busybox提供了一个由数量丰富的命令行工具集组成的工作环境这是一个“样样皆通”的应用程序,它在一个二进制文件中提供了你希望在 Linux系统中看到的大多数工具的实现。文件系统什么是文件系统ramdiskCramfs驱动程序开发www.embedu.org嵌入式Linux网络编程关键技术分析TCP/IP与OSI参考模型的对应关系嵌入式Linux网络编程关键技术分析Internet 协议(IP)IP主要有以下四个主要功能:(1)数据传送(2)寻址(3)路由选择(4)数据报文的分段18它只是封装和传递数据,但不向发送者或接收者报告包的状态,不处理所遇到的故障。IP网络层,为上层屏蔽了不同网
7、络的传输细节。嵌入式Linux网络编程关键技术分析传输控制协议(TCP)TCP:是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)适用情况:对传输质量要求较高的通信需要数据可靠传输的场合,通常使用TCP传输MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议19嵌入式Linux网络编程关键技术分析20TCP传输嵌入式Linux网络编程关键技术分析系统调用从用户空间陷入内核空间的方法之一,通过系统调用接口来操作Linux系统,使系统更加“安全”。Linux系统共有200多个系统调用,大致分为以下几类:进程控制文件系统控
8、制内存管理网络管理Socket控制用户管理进程间通信21嵌入式Linux网络编程关键技术分析Socket概述Linux中的网络编程通过socket接口实现。Socket既是一种特殊的IO,也是一种文件描述符。每一个Socket 有一个本地的唯一Socket 号,由Linux操作系统分配。Socket分为三种:流式套接字(SOCK_STREAM)数据报套接字(SOCK_DGRAM)原始套接字(SOCK_RAW)22嵌入式Linux网络编程关键技术分析常用Socket系统调用socket()bind()connect()listen()accept()send()recv()sendto()shu
9、tdown()recvfrom()close()getsockopt()setsockopt()getpeername()getsockname()gethostbyname()gethostbyaddr()getprotobyname()fcntl()23嵌入式Linux网络编程关键技术分析24嵌入式Linux网络编程关键技术分析前面的系统调用,都是阻塞函数。在实际的工程中,往往会根据实际的需求,将某些阻塞函数转化为非阻塞状态,同时实现多路I/O请求复用使用fcntl()函数,采用polling技术使用select()函数,较为常用25物联网终端开发的难点IPV4过渡到IPV6TCP/IP协议是Internet事实上的工业标准。26IPV4:32位的容量IPV6:128位的容量整个地球的每平方米面积上仍可分配1000多个地址嵌入式linux就业班3G手机全能就业班嵌入式系统工程师精英(周末)班Andriod应用开发班ARM工程师开发班Symbian应用开发(周末)班27华清远见嵌入式培训课程介绍28
限制150内