资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第12章 嵌入式系统的应用程序开发第12章 嵌入式系统的应用程序开发12.1 嵌入式GUI系统12.2 嵌入式网络应用12.1 嵌入式GUI系统p嵌入式GUI的概述pGUI系统的设计原理pGUI系统的移植pGUI系统的应用的开发嵌入式GUI的概述 随着需求的增加和嵌入式系统性能的提高。GUI(图形用户系统)在嵌入式系统的应用越来越广泛。 嵌入式GUI系统了友好的人机交互方式,类似桌面电脑Window和Linux的图形用户界面。 嵌入式GUI的概述 嵌入式GUI系统从下至上分成四个层次,:p硬件和操作系统pGUI系统的移植部分pGUI系统p应用程序嵌入式GUI的概述 从整个嵌入式系统GUI的实现角度,开发者一共有三个部分的工作:p 嵌入式GUI系统的本身p 嵌入式GUI系统的移植p 嵌入式GUI系统的应用程序的开发GUI系统的设计原理嵌入式GUI系统的特点:可移植性稳定可靠系统开销少可配置GUI系统的设计原理常见嵌入式GUI系统:p QTE (TrollTech )p MicroWindow (开源软件)p MiniGUI (中国飞漫)GUI系统的设计原理嵌入式GUI系统的特点:可移植性稳定可靠系统开销少可配置GUI系统的设计原理MiniGUIMicroWindowsQT/E典型库的大小约300k约300k约600k移植性很好很好较好授权条约LGPLLGPLLGPL系统消耗小较大大操作系统支持LinuxuCLinuxuCOS等LinuxuCLinuxDOSLinux编程语言CCC+GUI系统的移植嵌入式GUI系统移植的几个方面:操作系统的移植硬件的移植 (输入设备和输出设备) GUI系统的移植嵌入式网络应用p网络基础知识pTCP/IP知识p嵌入式Linux的网络应用网络基础知识OSI是一个开放性的通行系统互连参考模型1、应用层(A)2、表示层(P)3、会话层(S)4、传输层(T)5、网络层(N)6、数据链路层(DL)7、物理层(PH)TCP/IP知识 TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。 TCP/IP知识TCP/IP协议族:p IP(网络层)p ARPP(网络层)p ICMPP(网络层)p TCP(传输层)p UDP(传输层)p RIP(应用层)p TELNET(应用层)p FTP(应用层)p SMTP(应用层)p TFTP(应用层)嵌入式Linux的网络应用 套接字(socket)是UNIX中网络编程一种通用的方式,它为应用层的网络编程提供了很大的方便。 嵌入式Linux的网络应用 嵌入式Linux的网络程序和桌面Linux的网络程序在结构上都很类似,网络驱动可以使用各种通用接口。 嵌入式Linux的网络应用嵌入式系统网络的应用模式 :嵌入式Linux的网络应用嵌入式系统网络的应用模式 :嵌入式Linux的网络应用Linux的主要网络命令:ping: 使用ICMP协议检测主机连接。ifconfig: 用于指定的参数设置网络接口,指定的参数包括IP地址,子网掩码,广播地址等。route: 用来产生和修改路由表。netstat: 用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。大小端处理函数大小端处理函数 函数原型描述uint16_t htons(uint16_t value); 16位转换,返回网络字节序uint32_t htonl(uint32_t value);32位转换,返回网络字节序uint16_t ntohs(uint16_t value); 16位转换,返回主机字节序uint32_t ntohl(uint32_t value); 32位转换,返回网络字节序 TCP/IP网络协议使用大端的字节序(big endian),但是处理器(主机)的字节序却存在大小端。内存操作处理函数内存操作处理函数函数原型描述void bzero(void *dest, size_t nbytes); 按字节内存置零void bcopy(const void *src, void *dest, size_t nbytes);按字节内存拷贝:int bcmp(const void *ptr1, const void *ptr2, size_t nbytes); 按字节内存比较:void *memset(void *dest, int c, size_t len);内存设置void *memcpy(void *dest, const void *src, size_t bytes); 内存拷贝int memcmp(const void *ptr1, const void *ptr2, size_t nbytes);内存比较Socket编程主要函数编程主要函数int socket (int family, int type, int protocol);int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);int close( int fd ); int listen( int s, int backlog );int accept(int s, struct sockaddr *addr, socklen_t *addrlen);int connect( int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen );Socket编程主要函数编程主要函数ssize_t read(int filedes, void *buff, size_t nbytes) ;ssize_t write(int filedes, const void *buff, size_t nbytes) ;int recv( int sockfd,void *buf,int len,int flags );int send( int sockfd,void *buf,int len,int flags );int recvfrom( int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen );int sendto( int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);课程结束
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号