欢迎来到天天文库
浏览记录
ID:9371008
大小:717.50 KB
页数:105页
时间:2018-04-29
《基于linux和minigui的嵌入式系统软件开发指南讲述》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于linux和minigui的嵌入式软件开发指南基于Linux和MiniGUI的嵌入式系统软件开发指南魏永明2001年105基于linux和minigui的嵌入式软件开发指南目录主题一:选择MiniGUI-Threads或者MiniGUI-Lite3主题二:理解消息循环和窗口过程9主题三:对话框和控件编程20主题四:使用GDI函数34主题五:MiniGUI1.1.0版本引入的新GDI功能和函数52主题六:MiniGUI提供的非GUI/GDI接口65主题七:MiniGUI1.1.0引入的新GDI功能和函数之二84主题八:MiniGUI和其他嵌入式Linux上的图形
2、及图形用户界面系统98105基于linux和minigui的嵌入式软件开发指南主题一:选择MiniGUI-Threads或者MiniGUI-Lite自MiniGUI从1998年底推出以来,越来越多的人开始选择MiniGUI在Linux上开发实时嵌入式系统。为了帮助嵌入式软件开发人员使用MiniGUI编写出更好的应用程序,我们将撰写一系列文章讲解基于Linux和MiniGUI的嵌入式系统软件开发,并冠名"基于Linux和MiniGUI的嵌入式系统软件开发指南"。本文是该系列文章的第一篇,将讲述如何针对具体项目选择使用MiniGUI-Threads或者MiniGUI-
3、Lite版本,并比较不同版本对系统软件结构的影响。1:引言自MiniGUI从1998年底推出以来,越来越多的人开始选择MiniGUI在Linux上开发实时嵌入式系统。MiniGUI系统也逐渐成熟,并在各种嵌入式系统中扮演了重要的角色。为了帮助嵌入式软件开发人员使用MiniGUI编写出更好的应用程序,我们将撰写一系列文章讲解基于Linux和MiniGUI的嵌入式系统软件开发,并冠名"基于Linux和MiniGUI的嵌入式系统软件开发指南"。该系列文章将讲述如何在基于Linux的系统上利用MiniGUI开发具有图形用户界面支持的嵌入式系统软件,其内容不仅仅限于Mini
4、GUI的编程,还会涉及到一些Linux下嵌入式系统软件开发的技巧。系列文章的初步规划如下:·如何针对特定项目选择MiniGUI-Threads和MiniGUI-Lite·理解消息循环和窗口过程·对话框和控件编程·使用GDI函数·MiniGUI和Linux系统调用·MiniGUI-Lite与进程间通讯·将MiniGUI及应用程序移植到特定平台·利用autoconf接口编写跨平台代码·如何调试MiniGUI应用程序本文是该系列文章的第一篇,将讲述如何针对具体项目选择使用MiniGUI-Threads或者MiniGUI-Lite版本,并比较不同版本对系统软件结构的影响。
5、2:MiniGUI-Threads和MiniGUI-Lite的区别大家都知道,我们可以将MiniGUI编译成两个截然不同的版本,一个是MiniGUI-Threads,一个是MiniGUI-Lite。这两个版本适用于不同的应用需求。在选择到底使用MiniGUI-Threads还是MiniGUI-Lite之前,我们首先需要了解这两个版本之间的区别。MiniGUI-Threads是MiniGUI的最初版本。MiniGUI最初为一个工业控制系统开发的,该系统功能单一,但却需要非常高的实时性,因此考虑将MiniGUI105基于linux和minigui的嵌入式软件开发指南开
6、发成一个基于多线程的图形用户界面支持系统。因为在传统的UNIX/Linux系统上,典型的GUI系统(比如X)采用传统的基于UNIX套接字的客户/服务器系统结构。在这种体系结构下,客户建立窗口、绘制等等都要通过套接字传递到服务器,由服务器完成实质工作。这样,系统非常依赖于UNIX套接字通讯。而大家都知道,UNIX套接字的数据传递,要经过内核,然后再传递到另外一个程序。这样,大量的数据在客户/内核/服务器之间传递,从而增加了系统负荷,也占用了许多系统资源。这对许多嵌入式系统,尤其是实时性要求非常高的系统来说,是不可接受的。为了解决这个问题,MiniGUI首先采用了线程
7、机制(类似WindowsCE),所有的应用程序都运行在同一个地址空间,这样,大大提高了程序之间的通讯效率,并且特别适合于实时性要求非常高的系统。这就是MiniGUI-Threads。基于MiniGUI-Threads的程序,可以具有多个线程,每个线程有不同的功能和任务,并且可以建立各自的窗口,不同的线程之间,可以通过MiniGUI提供的消息传递机制进行事件传送和同步。但显然,这种基于线程的结构也导致了系统整体的脆弱――如果某个线程因为非法的数据访问而终止运行,则整个进程都将受到影响。不过,这种体系结构对实时控制系统等时间关键的系统来讲,还是非常适合的。为了解决Mi
8、niGUI
此文档下载收益归作者所有