当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于嵌入式Linux系统界面的研究

1概述

1.1什么是嵌入式系统

嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。他是以应用为中心,以计算机技术为基础,并且软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。

1.2嵌入式操作系统的发展

嵌入式技术的发展,大致经历了4个阶段:

第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。

第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。

1.3嵌入式操作系统的特点

与其他类型的操作系统相比,嵌入式操作系统具有以下一些特点。

(1)体积小

嵌入式系统有别于一般的计算机处理系统,他不具备像硬盘那样大容量的存储介质,而大多使用闪存(FlashMemory)作为存储介质。这就要求嵌入式操作系统只能运行在有限的内存中,不能使用虚拟内存,中断的使用也受到限制。因此,嵌入式操作系统必须结构紧凑,体积微小。

(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)小巧

包含全部功能的库文件大小为300kB左右。

(8)可配置

可根据项目需求进行定制配置和编译。

(9)高稳定性和高性能。

(10)可移植性好。

(11)图形抽象层

图形抽象层对顶层API基本没有影响,但大大方便了MiniGUI应用程序的移植、调试等工作。目前包含2个图形引擎,SVGALib和LibGGI,利用LibGGI时,可在XWindow上运行MiniGUI应用程序,并可非常方便地进行调试。与图形抽象层相关的还有输入事件的抽象层。

3.2.2MiniGUI的体系结构

从整体结构上看,MiniGUI是分层设计的,层次结构如图1所示。在最底层,GAL和IAL提供底层图形接口以及鼠标和键盘的驱动;中间层是MiniGUI的核心层,包括窗口系统必不可少的各个模块;最顶层是API,即编程接口。GAL和IAL为MiniGUI提供了底层的Linux控制台或者XWindow上的图形接口以及输入接口,而Pthread用于提供内核级线程支持的C函数库。???[!--empirenews.page--]

利用GAL和IAL,大大提高了MiniGUI的可移植性,并且使程序的开发和调试变得更加容易。可以在XWindow上开发和调试自己的MiniGUI程序,通过重新编译就可以让MiniGUI应用程序运行在特殊的嵌入式硬件平台上。

MiniGUI本身运行在多线程模式下,他的许多模块都以单独的线程运行,同时,MiniGUI还利用线程来支持多窗口。从本质上讲,每个线程有一个消息队列,消息队列是实现线程数据交换和同步的关键数据结构。一个线程向消息队列中发送消息,而另一个线程从这个消息队列中获取消息,同一个线程中创建的窗口可共享同一个消息队列。

多线程有一定的好处,但不方便的是不同的线程共享同一个地址空间,因此,客户线程可能会破坏系统服务器线程的数据,但有一个重要的优势是,由于共享地址空间,线程之间就没有额外的数据复制开销。由于MiniGUI是面向嵌入式或实时控制系统的,因此,这种应用环境下的应用程序往往具有单一的功能,从而使得采用多线程而非多进程模式实现图形界面有了一定的实际意义,也更加符合MiniGUI之“Mini”的特色。

在多线程环境中,与多进程间的通讯机制类似,线程之间也有交互和同步的需求。比如,用来管理窗口的线程维持全局的窗口列表,而其他线程不能直接修改这些全局的数据结构,而必须依据“先来先服务”的原则,依次处理每个线程的请求,这就是一般性的C/S模式。MiniGUI利用线程之间的同步操作实现了客户线程和服务器线程之间的微C/S机制,之所以这样命名,是因为客户和服务器是同一进程中的不同线程。

4MiniGUI在雷达显示界面上的应用

我们自主裁剪了Linux系统,并在此基础上安装了基于SVGALib图形引擎的MiniGUI轻量级图形用户界面支持系统,基于MiniGUI编写了图形用户界面雷达终端显示应用程序。

5结语

嵌入式Linux系统是源代码开放的一种可裁剪的软件平台系统,不存在黑箱技术。他的小巧、稳定、多任务、可配置、高性能、高可靠性、硬件的良好支持和价格的优势,尤其网络功能的强大,使他迅速成长发展,受到广大开发人员的青睐。

MiniGUI是国人自行开发研制的适合嵌入式系统的轻量级图形用户界面支持系统,他采用WIN32体系架构,提供了完备的多窗口机制、对话框和预定义的控件类,消息传递机制等,大大地简化了开发人员的界面设计。

但是,国产的嵌入式操作系统在技术含量、兼容性、市场运作模式等方面也还有很多工作要做,我们应该在跟踪国外嵌入式操作系统的最新技术的同时,坚持自主产权,力争找到自己的突破点,探索出一条自己的发展道路。Linux正提供了一个这样的平台。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭