第12章 嵌入式系统的应用程序开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第12章嵌入式系统的应用程序开发第12章嵌入式系统的应用程序开发12.1嵌入式GUI系统12.2嵌入式网络应用12.1嵌入式GUI系统嵌入式GUI的概述GUI系统的设计原理GUI系统的移植GUI系统的应用的开发嵌入式GUI的概述随着需求的增加和嵌入式系统性能的提高。GUI(图形用户系统)在嵌入式系统的应用越来越广泛。嵌入式GUI系统了友好的人机交互方式,类似桌面电脑Window和Linux的图形用户界面。嵌入式GUI的概述嵌入式GUI系统从下至上分成四个层次,:硬件和操作系统GUI系统的移植部分GUI系统应用程序移植部分硬件\操作系统图形系统API应用程序嵌入式GUI的概述从整个嵌入式系统GUI的实现角度,开发者一共有三个部分的工作:嵌入式GUI系统的本身嵌入式GUI系统的移植嵌入式GUI系统的应用程序的开发GUI系统的设计原理嵌入式GUI系统的特点:可移植性稳定可靠系统开销少可配置GUI系统的设计原理常见嵌入式GUI系统:QTE(TrollTech)MicroWindow(开源软件)MiniGUI(中国飞漫)GUI系统的设计原理嵌入式GUI系统的特点:可移植性稳定可靠系统开销少可配置GUI系统的设计原理MiniGUIMicroWindowsQT/E典型库的大小约300k约300k约600k移植性很好很好较好授权条约LGPLLGPLLGPL系统消耗小较大大操作系统支持LinuxuCLinuxuCOS等LinuxuCLinuxDOSLinux编程语言CCC++GUI系统的移植嵌入式GUI系统移植的几个方面:操作系统的移植硬件的移植(输入设备和输出设备)GUI系统的移植图形系统依赖库移植图形系统操作系统图形系统依赖库应用程序显示部分输入部分驱动程序LCD硬件输入设备图形系统可移植层编译系统显示部分移植输入部分移植操作系统调用接口编译系统12.2嵌入式网络应用网络基础知识TCP/IP知识嵌入式Linux的网络应用网络基础知识OSI是一个开放性的通行系统互连参考模型1、应用层(A)2、表示层(P)3、会话层(S)4、传输层(T)5、网络层(N)6、数据链路层(DL)7、物理层(PH)应用层表示层会话层传输层网络层数据链路层物理层TCP/IP知识TCP/IP协议(TransmissionControlProtocol/InternetProtocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。应用层表示层会话层传输层网络层数据链路层物理层OSI参考模型应用层传输层网络层TCP/IP模型网络接口层物理层TCP/IP知识TCP/IP协议族:IP(网络层)ARPP(网络层)ICMPP(网络层)TCP(传输层)UDP(传输层)RIP(应用层)TELNET(应用层)FTP(应用层)SMTP(应用层)TFTP(应用层)应用层TCPUDPIP(以及ICMP、IGMP)硬件设备驱动程序和媒体接入协议HTTPFTPDNSTFTPTELNETSMTPSNMPRIP传输层网络层网络接口层ARPRARP嵌入式Linux的网络应用套接字(socket)是UNIX中网络编程一种通用的方式,它为应用层的网络编程提供了很大的方便。应用程序用户进程TCPUDPIP设备驱动和硬件因特网协议内核通讯细节应用细节socket嵌入式Linux的网络应用嵌入式Linux的网络程序和桌面Linux的网络程序在结构上都很类似,网络驱动可以使用各种通用接口。硬件驱动程序物理层Linux的网络设备接口(net_device)网络接口调用网络协议网络应用程序硬件驱动程序网络协议应用程序嵌入式Linux的网络应用嵌入式系统网络的应用模式:监控设备(网络服务器)监控设备(网络客户端)网络连接嵌入式Linux的网络应用嵌入式系统网络的应用模式:监控设备(网络服务器)监控设备(网络客户端)网络连接嵌入式Linux的网络应用Linux的主要网络命令:ping:使用ICMP协议检测主机连接。ifconfig:用于指定的参数设置网络接口,指定的参数包括IP地址,子网掩码,广播地址等。route:用来产生和修改路由表。netstat:用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。大小端处理函数函数原型描述uint16_thtons(uint16_tvalue);16位转换,返回网络字节序uint32_thtonl(uint32_tvalue);32位转换,返回网络字节序uint16_tntohs(uint16_tvalue);16位转换,返回主机字节序uint32_tntohl(uint32_tvalue);32位转换,返回网络字节序TCP/IP网络协议使用大端的字节序(bigendian),但是处理器(主机)的字节序却存在大小端。内存操作处理函数函数原型描述voidbzero(void*dest,size_tnbytes);按字节内存置零voidbcopy(constvoid*src,void*dest,size_tnbytes);按字节内存拷贝:intbcmp(constvoid*ptr1,constvoid*ptr2,size_tnbytes);按字节内存比较:void*memset(void*dest,intc,size_tlen);内存设置void*memcpy(void*dest,constvoid*src,size_tbytes);内存拷贝intmemcmp(constvoid*ptr1,constvoid*ptr2,size_tnbytes);内存比较Socket编程主要函数intsocket(intfamily,inttype,intprotocol);intbind(intsockfd,structsockaddr*my_addr,socklen_taddrlen);intclose(intfd);intlisten(ints,intbacklog);intaccept(ints,structsockaddr*addr,socklen_t*addrlen);intconnect(intsockfd,conststructsockaddr*serv_addr,socklen_taddrlen);Socket编程主要函数ssize_tread(intfiledes,void*buff,size_tnbytes);ssize_twrite(intfiledes,constvoid*buff,size_tnbytes);intrecv(intsockfd,void*buf,intlen,intflags);intsend(intsockfd,void*buf,intlen,intflags);intrecvfrom(ints,void*buf,size_tlen,intflags,structsockaddr*from,socklen_t*fromlen);intsendto(ints,constvoid*msg,size_tlen,intflags,conststructsockaddr*to,socklen_ttolen);课程结束

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功