基于嵌入式Linux体系界面的研究
发布日期:2011-05-31
报告了什么是嵌入式体系,阐发了嵌入式利用体系的生长与特点,过细叙述了图形用户界面MiniGUI的布局与特点,并提出了基于MiniGUI嵌入式Linux体系的雷达表现界面软件筹划。
In this paper, we introduce the concept of embed systems. We also analyse thedevelopment and the characteristics of embed operating systems, especially embed LinuxWe particularize the framework and the feature of MiniGUI,and put forward design of embed Linux system based on MiniGUI in radar
1 概述
1.1什么是嵌入式体系
嵌入式系同一样通常指非PC体系,有谋略机结果但又不称之为谋略机的配置或东西。他因此应用为中间,以谋略机技能为底子,并且软硬件可淘汰的,实用于对结果、可靠性、资源、体积、功耗等综合性严格恳求的专用谋略机体系。
1.2 嵌入式利用体系的生长
嵌入式技能的生长,大抵经历了4个阶段:
第一阶段因此单芯片为内核的可编程控制器情势的体系,同时具有与监测、伺服、指示配置相共同的结果。这种体系大部分应用于一些专业性极强的财产控制体系中,一样通常没有利用体系的支持,通过汇编语言编程对体系举行直接控制,运行结束后打扫内存。
第二阶段因此嵌入式CPU为底子、以大抵利用体系为内核的嵌入式体系。这一阶段的利用体系具有肯定的兼容性和扩展性,但用户界面不敷友爱。
第三阶段因此嵌入式利用体系为标记的嵌入式体系。这一阶段体系的紧张特点是:嵌入式利用体系能运行于种种差别典范的微处理惩罚处罚器上,兼容性好;利用体系内核精小、屈从高,并且具有高度的模块化和扩展性;具备文件和目次办理、配置支持、多任务、网络支持、图形窗口以及用户界面等结果;具有大量的应用步调接口(API),开辟应用步调大抵;嵌入式应用软件丰富。
第四阶段因此基于Internet为标记的嵌入式体系,这是一个正在敏捷生长的阶段。如今大多数嵌入式体系还孤单于Internet之外,但随着Internet的生长以及Internet技能与信息家电、财产控制技能等连合日益密切,嵌入式配置与Internet的连合将代表着嵌入式技能的真正将来。
1.3嵌入式利用体系的特点
与其他典范的利用体系相比,嵌入式利用体系具有以下一些特点。
(1)体积小
嵌入式体系有别于一样通常的谋略机处理惩罚处罚体系,他不具备像硬盘那样大容量的存储介质,而大多利用闪存(Flash Memory)作为存储介质。这就恳求嵌入式利用体系只能运行在有限的内存中,不克不及利用假造内存,克制的利用也受到限定。因此,嵌入式利用体系必须布局紧凑,体积微小。
(2)及时性
大多数嵌入式体系都是及时体系,并且多是强及时多任务体系,恳求相应的嵌入式利用体系也必须是及时利用体系(RTOS)。及时利用体系作为利用体系的一个告急分支已成为研究的一个热门,紧张探究及时多任务调理算法和可调理性、去世锁打扫等标题。
(3)分外的开辟调试环境
提供完备的集成开辟环境是每一个嵌入式体系开辟职员所等待的。一个完备的嵌入式体系的集成开辟环境一样通常须要提供的东西是编译/连接器、内核调试/跟踪器和集成图形界面开辟平台。此中的集成图形界面开辟平台包括编辑器、调试器、软件仿真器和监督器等。
2 嵌入式Linux
嵌入式Linux是根据嵌入式利用体系的恳求而筹划的一种小型利用体系。由一个Kernel(内核)及一些根据须要举行定制的体系模块构成。其Kernel很小,一样通常只有几百kB左右。纵然加上其他必须的模块和应用步调,所需的存储空间也很小。他有多任务、多进程的体系特性,有些还具有及时性。一个小型的嵌入式Linux体系只须要引导步调、Linux微内核、初始化进程3个底子元素。运行嵌入式Linux的CPU可以是x86,Alpha,Sparc,MIPS,PPC等。与这些芯片搭配的主板都很小,与一张PCI卡大小相称,有的以致更小。嵌入式Linux所需的存储器不是软磁盘、硬盘、Zip盘、CDROM,DVD这些众所周知的惯例存储器,他利用Rom,CompactFlash,MSystems的DiskOnChip,Sony的MemoryStick,IBM的MicroDrive等体积极小与主板上的BIOS大小相近,存储容量不太大的存储器。他的内存可以利用平常的内存,也可以利用专用的RAM。与其他嵌入式利用体系相比,Linux的源代码是开放的,不存在黑箱技能。Linux作为一种可裁剪的软件平台体系,是生长将来嵌入式配置产品的最佳资源。
3图形用户界面体系MiniGUI
3.1图形用户界面简介
谋略机用户界面是指谋略机与其利用者之间的对话接口,是谋略机体系的告急构成部分。谋略机的生长史不但是谋略机本身处理惩罚处罚速率和存储容量飞速进步的汗青,也是谋略用户界面不绝改革的汗青。用户界面的告急性在于他极大地影响了终极用户的利用,影响了谋略机的推广应用,以致影响了人们的变乱和生存。由于开辟用户界面的变乱量极大,加上差别用户对界面的恳求也不尽雷同,因此,用户界面已成为谋略机软件研制中最困难的部分之一。
GUI 在嵌入式体系大概及时体系中的职位地方将越来越告急,这些体系对 GUI 的底子恳求包括:
①轻型、占用资源少。
②高性能。
③高可靠性。
④可配置。
3.2MiniGUI图形用户体系
3.2.1MiniGUI特色
MiniGUI由原清华大学西席魏永明老师开辟,是中国人做得较好的自由软件之一。MiniGUI是一种面向嵌入式体系大概及时体系的图形用户界面支持体系。他紧张运行于 Linux 控制表面,实际可以运行在恣意一种具有 POSIX 线程支持的 POSIX 兼容体系上。MiniGUI 同时也是海内最早出现的几个自由软件项目之一。
MiniGUI 的紧张特色有:
(1)依照 LGPL条款的纯自由软件。
(2)提供了完备的多窗口机制。包括多个单独线程中运行的多窗口;单个线程中主窗口的从属;对话框和预定义的控件类(按钮、单行和多行编辑框、列表框、进度条、东西栏等)。
(3)消息转达机制。
(4)多字符集和多字体支持。
(5)BMP,GIF,JPEG,PCX 等常见图像文件的支持。
(6)Windows 的资源文件支持,如位图、图标、光标、插入符、定时器、加快键等。
(7)小巧
包括全部结果的库文件大小为 300 kB左右。
(8)可配置
可根据项目需求举行定制配置和编译。
(9)高稳固性和高性能。
(10)可移植性好。
(11)图形抽象层
图形抽象层对顶层 API 底子没有影响,但大大方便了 MiniGUI 应用步调的移植、调试等变乱。如今包括2个图形引擎,SVGALib 和 LibGGI,利用 LibGGI 时,可在 X Window 上运行 MiniGUI 应用步调,并可非常方便地举行调试。与图形抽象层干系的另有输入变乱的抽象层。
3.2.2MiniGUI的体系布局
从团体布局上看,MiniGUI是分层筹划的,层次布局如图1所示。在最底层,GAL和IAL提供底层图形接口以及鼠标和键盘的驱动;中间层是MiniGUI的内核层,包括窗口体系必不可少的各个模块;最顶层是API,即编程接口。GAL和IAL为MiniGUI提供了底层的Linux控制表面大概X Window上的图形接口以及输入接口,而Pthread用于提供内核级线程支持的C函数库。
利用GAL和IAL,大猛进步了MiniGUI的可移植性,并且使步调的开辟和调试变得越发容易。可以在X Window上开辟和调试本身的MiniGUI步调,通过重新编译就可以让MiniGUI应用步调运行在分外的嵌入式硬件平台上。
MiniGUI 本身运行在多线程模式下,他的很多模块都以单独的线程运行,同时,MiniGUI还利用线程来支持多窗口。从本质上讲,每个线程有一个消息行列步队,消息行列步队是实现线程数据互换和同步的关键数据布局。一个线程向消息行列步队中发送消息,而另一个线程从这个消息行列步队中获取消息,同一个线程中创建的窗口可共享同一个消息行列步队。
多线程有肯定的好处,但不方便的是差别的线程共享同一个地点空间,因此,客户线程大概会粉碎体系办事器线程的数据,但有一个告急的上风是,由于共享地点空间,线程之间就没有分外的数据复制开销。由于 MiniGUI 是面向嵌入式或及时控制体系的,因此,这种应用环境下的应用步调通常具有单一的结果,从而使得采取多线程而非多进程模式实现图形界面有了肯定的实际意义,也越发切合 MiniGUI 之“Mini”的特色。
在多线程环境中,与多进程间的通讯机制雷同,线程之间也有交互和同步的需求。比如,用来办理窗口的线程维持全局的窗口列表,而其他线程不克不及直接修改这些全局的数据布局,而必须依据“先来先办事”的原则,依次处理惩罚处罚每个线程的恳求,这便是一样通常性的C/S模式。MiniGUI 利用线程之间的同步利用实现了客户线程和办事器线程之间的微C/S机制,之以是如许定名,是由于客户和办事器是同一进程中的差别线程。
4 MiniGUI在雷达表现界面上的应用
我们自主裁剪了Linux体系,并在此底子上摆设了基于SVGALib图形引擎的MiniGUI轻量级图形用户界面支持体系,基于MiniGUI编写了图形用户界面雷达终端表现应用步调。
5结语
嵌入式Linux体系是源代码开放的一种可裁剪的软件平台体系,不存在黑箱技能。他的小巧、稳固、多任务、可配置、高性能、高可靠性、硬件的精良支持和价格的上风,尤其网络结果的强大,使他敏捷生永生长,受到宽大开辟职员的青睐。
MiniGUI是国人自行开辟研制的得当嵌入式体系的轻量级图形用户界面支持体系,他采取WIN32体系架构,提供了完备的多窗口机制、对话框和预定义的控件类,消息转达机制等,大大地简化了开辟职员的界面筹划。
但是,国产的嵌入式利用体系在技能含量、兼容性、市场运作模式等方面也另有很多变乱要做,我们应该在跟踪外洋嵌入式利用体系的最新技能的同时,对峙自主产权,力求找到本身的突破点,探索出一条本身的生长蹊径。Linux正提供了一个如许的平台。
参考文献
[1]邹思轶.嵌入式Linux筹划与应用[M].北京:清华大学出版社,2002.
[2]魏忠,蔡勇,雷红卫.嵌入式开辟详解[M].北京:电子财产出版社,2003.
[3]Daniel Bovet P,Marco Cesati.深入明白Linux内核[M].陈莉君,冯锐,牛欣源,译.北京:中国电力出版社,2001.