Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "第12章 嵌入式系统的应用程序开发."— Presentation transcript:

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

2 第12章 嵌入式系统的应用程序开发 12.1 嵌入式GUI系统 12.2 嵌入式网络应用

3 12.1 嵌入式GUI系统 嵌入式GUI的概述 GUI系统的设计原理 GUI系统的移植 GUI系统的应用的开发

4 嵌入式GUI的概述 随着需求的增加和嵌入式系统性能的提高。GUI(图形用户系统)在嵌入式系统的应用越来越广泛。 嵌入式GUI系统了友好的人机交互方式,类似桌面电脑Window和Linux的图形用户界面。 比较,嵌入式系统的人机交互,桌面电脑命令行和图形界面的人机交互。

5 嵌入式GUI的概述 嵌入式GUI系统从下至上分成四个层次,:  硬件和操作系统  GUI系统的移植部分  GUI系统  应用程序

6 嵌入式GUI的概述 从整个嵌入式系统GUI的实现角度,开发者一共有三个部分的工作:  嵌入式GUI系统的本身  嵌入式GUI系统的移植

7 GUI系统的设计原理 嵌入式GUI系统的特点: 可移植性 稳定可靠 系统开销少 可配置

8 GUI系统的设计原理 常见嵌入式GUI系统: QTE (TrollTech ) MicroWindow (开源软件) MiniGUI
(中国飞漫)

9 GUI系统的设计原理 嵌入式GUI系统的特点: 可移植性 稳定可靠 系统开销少 可配置

10 GUI系统的设计原理 MiniGUI MicroWindows QT/E 典型库的大小 约300k 约600k 移植性 很好 较好 授权条约
LGPL 系统消耗 较大 操作系统支持 Linux uCLinux uCOS等 DOS 编程语言 C C++ 功能的强弱和占用资源的大小成正比,不同GUI实用不同级别的系统

11 GUI系统的移植 嵌入式GUI系统移植的几个方面: 操作系统的移植 硬件的移植 (输入设备和输出设备)
输入设备的移植是重点,而输出设备的移植是难点。

12 GUI系统的移植 GUI系统的整体框架和移植。

13 12.2嵌入式网络应用 网络基础知识 TCP/IP知识 嵌入式Linux的网络应用

14 网络基础知识 OSI是一个开放性的通行系统互连参考模型 1、应用层(A) 2、表示层(P) 3、会话层(S) 4、传输层(T)
5、网络层(N) 6、数据链路层(DL) 7、物理层(PH)

15 TCP/IP知识 TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。

16 TCP/IP知识 TCP/IP协议族: IP(网络层) ARPP(网络层) ICMPP(网络层) TCP(传输层) UDP(传输层)
RIP(应用层) TELNET(应用层) FTP(应用层) SMTP(应用层) TFTP(应用层)

17 嵌入式Linux的网络应用 套接字(socket)是UNIX中网络编程一种通用的方式,它为应用层的网络编程提供了很大的方便。

18 嵌入式Linux的网络应用 嵌入式Linux的网络程序和桌面Linux的网络程序在结构上都很类似,网络驱动可以使用各种通用接口。

19 嵌入式Linux的网络应用 嵌入式系统网络的应用模式 : 服务器-客户端模式在嵌入式系统的应用

20 嵌入式Linux的网络应用 嵌入式系统网络的应用模式 : 服务器-客户端模式在嵌入式系统的应用

21 嵌入式Linux的网络应用 Linux的主要网络命令: ping: 使用ICMP协议检测主机连接。 ifconfig:
用于指定的参数设置网络接口,指定的参数包括IP地址,子网掩码,广播地址等。 route: 用来产生和修改路由表。 netstat: 用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 服务器-客户端模式在嵌入式系统的应用

22 大小端处理函数 函数原型 描述 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); 函数的目的在于统一主机和网络的大小短问题。 TCP/IP网络协议使用大端的字节序(big endian),但是处理器(主机)的字节序却存在大小端。

23 内存操作处理函数 函数原型 描述 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, 内存比较 内存操作函数常用于数据结构的初始化。

24 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 );

25 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);

26 课程结束


Download ppt "第12章 嵌入式系统的应用程序开发."

Similar presentations


Ads by Google