基于linux和minigui的嵌入式系统软件开发指南毕业论文

基于linux和minigui的嵌入式系统软件开发指南毕业论文

ID:2497290

大小:534.00 KB

页数:104页

时间:2017-11-16

基于linux和minigui的嵌入式系统软件开发指南毕业论文_第1页
基于linux和minigui的嵌入式系统软件开发指南毕业论文_第2页
基于linux和minigui的嵌入式系统软件开发指南毕业论文_第3页
基于linux和minigui的嵌入式系统软件开发指南毕业论文_第4页
基于linux和minigui的嵌入式系统软件开发指南毕业论文_第5页
资源描述:

《基于linux和minigui的嵌入式系统软件开发指南毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于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上的图形及图形用户界面系统981041:引言自MiniGUI从19

2、98年底推出以来,越来越多的人开始选择MiniGUI在Linux上开发实时嵌入式系统。MiniGUI系统也逐渐成熟,并在各种嵌入式系统中扮演了重要的角色。为了帮助嵌入式软件开发人员使用MiniGUI编写出更好的应用程序,我们将撰写一系列文章讲解基于Linux和MiniGUI的嵌入式系统软件开发,并冠名"基于Linux和MiniGUI的嵌入式系统软件开发指南"。该系列文章将讲述如何在基于Linux的系统上利用MiniGUI开发具有图形用户界面支持的嵌入式系统软件,其内容不仅仅限于MiniGUI的编程,还会涉及到

3、一些Linux下嵌入式系统软件开发的技巧。系列文章的初步规划如下:·如何针对特定项目选择MiniGUI-Threads和MiniGUI-Lite·理解消息循环和窗口过程·对话框和控件编程·使用GDI函数·MiniGUI和Linux系统调用·MiniGUI-Lite与进程间通讯·将MiniGUI及应用程序移植到特定平台·利用autoconf接口编写跨平台代码·如何调试MiniGUI应用程序本文是该系列文章的第一篇,将讲述如何针对具体项目选择使用MiniGUI-Threads或者MiniGUI-Lite版本,并比

4、较不同版本对系统软件结构的影响。2:MiniGUI-Threads和MiniGUI-Lite的区别大家都知道,我们可以将MiniGUI编译成两个截然不同的版本,一个是MiniGUI-Threads,一个是MiniGUI-Lite。这两个版本适用于不同的应用需求。在选择到底使用MiniGUI-Threads还是MiniGUI-Lite之前,我们首先需要了解这两个版本之间的区别。104MiniGUI-Threads是MiniGUI的最初版本。MiniGUI最初为一个工业控制系统开发的,该系统功能单一,但却需要非常

5、高的实时性,因此考虑将MiniGUI开发成一个基于多线程的图形用户界面支持系统。因为在传统的UNIX/Linux系统上,典型的GUI系统(比如X)采用传统的基于UNIX套接字的客户/服务器系统结构。在这种体系结构下,客户建立窗口、绘制等等都要通过套接字传递到服务器,由服务器完成实质工作。这样,系统非常依赖于UNIX套接字通讯。而大家都知道,UNIX套接字的数据传递,要经过内核,然后再传递到另外一个程序。这样,大量的数据在客户/内核/服务器之间传递,从而增加了系统负荷,也占用了许多系统资源。这对许多嵌入式系统,

6、尤其是实时性要求非常高的系统来说,是不可接受的。为了解决这个问题,MiniGUI首先采用了线程机制(类似WindowsCE),所有的应用程序都运行在同一个地址空间,这样,大大提高了程序之间的通讯效率,并且特别适合于实时性要求非常高的系统。这就是MiniGUI-Threads。基于MiniGUI-Threads的程序,可以具有多个线程,每个线程有不同的功能和任务,并且可以建立各自的窗口,不同的线程之间,可以通过MiniGUI提供的消息传递机制进行事件传送和同步。但显然,这种基于线程的结构也导致了系统整体的脆弱―

7、―如果某个线程因为非法的数据访问而终止运行,则整个进程都将受到影响。不过,这种体系结构对实时控制系统等时间关键的系统来讲,还是非常适合的。为了解决MiniGUI-Threads版本因为线程而引入的一些问题,同时也为了让MiniGUI更加适合于嵌入式系统,我们决定开发一个MiniGUI-Lite版本。这个版本的开发目的是:·保持与原先MiniGUI版本在源代码级99%以上的兼容。·不再使用线程库。·可以同时运行多个基于MiniGUI-Lite的应用程序,即多个进程,并且提供前后台进程的切换。显然,要同时满足上述

8、三个目的,如果采用传统的C/S结构对MiniGUI-Threads进行改造,应该不难实现。但前面提到的传统C/S结构的缺陷却无法避免。经过对PDA等嵌入式系统的分析,我们发现,某些PDA产品具有运行多个任务的能力,但同一时刻在屏幕上进行绘制的程序,一般不会超过两个。因此,只要确保将这两个进程的绘制相互隔离,就不需要采用复杂的C/S结构处理多个进程窗口之间的互相剪切。也就是说,在这种产品中,如果采用基

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。