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