嵌入式Linux基于MiniGUI下的手机应用程序
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
摘 要
随着软硬件资源的成熟与完善,基于嵌入式Linux信息终端的需求越来越多。但是适合于嵌入式系统的图形界面系统却很少,而市场对于图形界面的开发的需求非常迫切。MiniGUI是一种面向嵌入式的实时系统图形用户界面支持系统,能够为嵌入式系统提供一个轻型、可灵活配置、友好的图形界面系统。本文研究嵌入Linux基于MiniGUI的手机应用程序的开发与实现。
论文首先概要介绍了MiniGUI的体系结构,以及嵌入式Linux下基于MiniGUI的应用程序开发过程。然后针对具体的手机应用程序系统,详细地介绍了整个系统的开发过程,从硬件平台和软件环境到编译开发的环境搭建,MiniGUI函数库等的移植,到图形化界面的实现。最后开发并实现了一个简易的手机界面应用程序,该系统能实现诸如电话簿,短消息,照相机等基本功能界面。
最后,本文对整个设计阶段的工作进行了一定的总结,并对下一步需要进行学习研究的方向进行了讨论。
关键词 :嵌入式系统;图形用户界面;MiniGUI
MiniGUI
MiniGUI是由清华大学魏永明主持开发的,并由许多自由软件开发人员支持的一个自由软件项目,其目标是为基于 Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。该项 目自 1998年底开始到现在,已历经 3年多的开发过程,到目前为止,已经非常成熟和稳定。目前,已经正式发布了稳定版本 1.0.9,并且开始了新版本系列的开发,即 Mi UI Version 1.1.x,该系列的正式版也即将发布。 内容来自think58 [资料来源:http://THINK58.com]
MiniGUI最初是为了满足 一个工业控制系统(计算机数控系统)的需要而设计和开发的.考虑到 X Window 不适合于适时控制系统并且其本地化也不尽人意。因此 MiniGUI一开始就针对适时系统而设计,考虑了适时系统对 GUI的占用资源少、高性能、高可靠性及可配置的基本要求。 MiniGUI目前的功能 已经非常强大.并且已经成功应用于许多嵌入式系统中[2]。
MiniGUI是一种面向嵌入式或实时系统的图形用户界面支持系统。它主要运行于Linux控制台,是基于SVGALib及LinuxThred库的多窗口GU1支持系统。它采用了类 Win32的API接口,实现了简化的类Windows98风格的图形用户界面。MiniGUI是遵循LGPL条款的纯 自由软件,同时也是国内最早出现的几个自由软件项目之一,它可以运行在任何一种具有 POSⅨ线程支持的POSIX兼容系统 。
MiniGUI体系结构是分层设计的,在最底层,图形抽象层(Q )和输入抽象层(IAL)提供底层图形接口以及输入接口,如鼠标和键盘的驱动;中间层是 UI的核心层,其中包括了窗口系统必不可少的各个模块;最顶层的API是提供给用户的编程接口。
MiniGUI的主要特点有:遵循 GPL条款的纯自由软件;提供了完备的多窗口机制,实现了类Win32的消息传递;支持多字符集和多字体,目前支持 ISO88591,GB2312和 等字符集,并且支持各种光栅字体和 TrueTypeType I等矢量字体,支持全拼和五笔等汉字输入法;支持BMP,GIF,JPEG,及 PCX等常见图像文件;支持 Windows的资源文件,如位图、图标、光标、插入符、定时器及加速键等;此外,MiniGUI还具有小巧、可配置、移植性好等优点。 内容来自think58 [版权所有:http://think58.com]
与 Micmwindows、Qt/Embedded 等 GUI相 比,MiniGUI最显著特点是占用资源小和可移植性好。MiniGUI占用资源小主要表现在:Linux内核:300kB~500kB(由系统决定);MiniGU1支持库:300kB~400kB(由编译选项确定);MiniGUI字体、位图等资源:800kB。可移植性好主要表现在:将 MiniGUI移植到其他基于不同硬件的嵌入式 Linux系统上,只需实现新的 GAL和 IAL引擎,而不需要对 MiniGUI的上层代码进行丝毫修改。目前,MiniGUI已被成功地移植到多种硬件设备上,中科院EEOC5开发组已经成功地将 b~niGUI移植到了他们的PO~IX兼容系统上,蓝点软件(北京)研发中心也已经成功地将MiniGUI移植到了两款基于StrongARM的嵌入式系统上。
另外,在 MiniGUl几年的发展过程中,有许多值得一提的技术创新点,例如:图形抽象层。图形抽象层对顶层API基本没有影响,但大大方便了 MiniGUI应用程序的移植、凋试等工作;与图形抽象层相关的还有输入事件的抽象层。正是由于这些技术上的创新,才使得 MiniGUI更加适合实时嵌入式系统。
但是,MiniGUI还存在诸多不足。譬如,它还缺乏开发应用程序的集成开发环境,以及一些必要的应用程序,如浏览器等一些 Internet工具。同时,这些不足也在不同程度上阻碍着 MiniGUI的推广和应用。
[资料来源:http://THINK58.com]
2.4 MiniGUI的开发平台
2.4.1 MiniGUI的硬件平台
硬件平台是基于三星公司 ARM9内核的s3C2410芯片开发完成的。如 图 2-1所示 ,整个硬件平台由下面几个部分组成 :
S3C2410:1 6 b/32 b ARM920T核 ;
系统时钟 :由外部 24 MHz晶振提供 ;
SDRAM : 64 M b s (32 M b s× 2);
或非型 FLASH:8 Mb/s(512 k×16 b);
与非型 FLASH:128 Mb/s(16 M ×8 b);
2通 道 UART;
10M以太网;
1个 USB主控制器 ,一个 USB设备控制器 ;
TFT LCD,可扩展触摸屏 、键盘 、鼠标 ;
SPI;
JTAG接 口。
其中,$3C2410和SDRAM 、或非型FLASH、与非型FLASH组成的最小系统可以运行指令和代码 ;通过串口、网口、USB,SPI口同外部交换信息和数据 ;通过LCD进行显示 ;主机通过 JTAG对开发板进行调试 。
上一篇:基于支持向量机的人脸识别技术研究