每日热文:什么是嵌入式系统?嵌入式技术的发展经历了哪些阶段?
在生活中,很多人都不知道基于嵌入式Linux系统界面的研究是什么意思,其实他的意思是非常简单的,下面就是小编搜索到的基于嵌入式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函数库。おお