摘要
随着嵌入式技术、无线终端、信息家电、手持设备、复杂工控设备的迅速发展,人们对嵌入式系统的需求日渐增多,要求逐渐提高。为嵌入式系统设计一个友好便捷、稳定可靠的GUI (Graphical User Interface)系统成为迫切需求。
嵌入式GUI是嵌入式系统的重要组成部分,为嵌入式系统提供应用于特殊场合的人机交互接口。良好的人机接口界面是嵌入式系统设计的关键技术,能够极大地提高人机交互效率。本论文以智能家居监控系统为应用背景,以嵌入式Linux系统中的GUI系统为研究对象,从理论、技术与应用三个层次展开研究。
本文首先介绍了嵌入式系统的发展历程、嵌入式操作系统以及嵌入式图形用户界面的开发现状,深入系统地研究了嵌入式以及嵌入式GUI系统的开发模式和基本原则,并通过分析和比较当前国内外普及的几种嵌入式GUI系统实现方式,选择当前在技术等方面领先的Qt/Embedded开发课题中的GUI系统。并针对Qt开源资源存在不支持中文显示,对国内用户造成使用不便,研究并实现了Linux下Qtopia环境及GUI应用程序的中文化。最后结合智能家居安全监控系统将以上研究付诸实现:基于Linux以及Qt/Embedded系统,依据智能家居监控终端功能需求,研究和设计课题中ARM(Advanced RISC Machines)控制平台的用户界面系统管理功能,通过操作设计的图形界面系统,实现ARM板上的各个功能模块与服务器端的交互,并基于开源资源对Qt的中文显示问题深入研究,通过移植字体库的方法实现了Qtopia环境的中文化,同时结合智能家居监控系统中串口终端GUI程序的具体应用基于感应翻译法实现Qtopia应用程序的中文显示。主要工作包括以下内容:
(1)在宿主机上建立开发环境:在PC机上安装RedHat9.0,并构建Qt/Embedded和Qtopia的GUI开发环境,包括基于PC机的开发环境和基于开发板交叉编译的开发环境。
(2)基于宿主机开发GUI程序:研究Qtopia图形界面系统的开发原理、流程以及基于Qt Designer开发智能家居系统监控端GUI应用程序,并通过构建QTOPIA虚拟平台验证开发的GUI应用程序,最后基于开源资源研究GUI应用程序的中文显示。
(3)从宿主机移植应用程序到目标机:在搭建好的目标平台上移植应用程序,主要包括Qt/Embedded库以及应用程序的交叉编译,通过网络、USB或者RS232串口将开发好的应用程序发布到目标平台,最终实现对开发成果的检验。
With the rapid development of embedded technology, wireless terminals, information appliances, handheld devices and complex industrial equipment, people's demand and requirement for embedded system are gradually increasing. Therefore, it has become an urgently needs that designing of a friendly and convenient, stable and reliable GUI (Graphical User Interface) system for embedded system.
As an important component of the embedded system, Embedded GUI can provide human-computer interaction interface of applying to special occasions for embedded systems. Good human-computer interaction interface is the key technology of the designing the embedded system that can greatly enhance the efficiency of human-computer interaction. In this thesis, the GUI of embedded Linux system was studied from the theory, technology and application of three levels, which regarded smarthome as application background.
The development history of embedded systems and the development status of embedded operating system and embedded graphical user interface were firstly introduced. Then the embedded system and the development model and basic principle of embedded GUI system were thoroughly and systematically researched. The GUI system of Qt/Embedded systems that is current leader in the technology was chosen through analyzing and comparing the implementation of several embedded GUI systems that are popularity under present domestic and international circumstances. And the chinesization of Qtopia environment and GUI applications in the Linux system were accomplished in connection with the problems of Qtopia open source resource for non-Chinese display. Finally, all the above studies were put into practice combined with the smarthome system:the management functions of user interface system for the ARM (Advanced RISC Machines) control platform were researched and designed in the subject according to functional requirements of smarthome monitor terminal and the interaction between the modules of ARM control platform and the service terminals was achieved through operating graphical interface system that was designed by author, they both based on Linux and Qt/Embedded system. The problems of Qt's chinesization were thoroughly studied that based on open source resource, and the chinesization of Qtopia environment was achieved through porting fontlib. At the same time, the chinesization of Qtopia application was achieved by using induction translation combined with specific application of Serial Port Terminal GUI program that is in the smarthome safety monitoring system. The main contents were as follows:
(1) Established development environment in the host computer:RedHat9.0 was installed in the PC (Personal Computer); the GUI development environment of Qt/Embedded and Qtopia was built which includes the development environment based on PC and the development environment based on cross-compiling development board.
(2) Developed the GUI program that was based on host computer:the development principles and processes of Qtopia graphical interface system were researched, and the GUI applications of smarthome monitoring tenninal based on Qt Designer were developed. Then these applications were verified by constructing QTOPIA virtual platform. Finally, the GUI application's chinesization based on Open-source resources was implemented.
(3) The porting of applications from the host machine to target machine:The porting of applications were carried out on target platform, including cross-compiled the Qt/Embedded library and applications. Then the developed applications were posted to the target platform through the network, the USB or RS232 serial and finally tested the achievements of development.
引文
[1]王学龙.嵌入式Linux系统设计与应用[M].北京:清华大学出版社,2001:25;
[2]邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2001:45;
[3]张兴财,杨康等.基于ARM的嵌入式Linux系统中GUI的研究和实现[J].沈阳理工大学学报,2006,25(5):55-57;
[4]衰野,王宏远.一种嵌入式系统中GUI的设计[J].计算机与数字工程,2006,34(1):103-105;
[5]周立功等,ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005:78-80;
[6]张娟.基于嵌入式Linux的GUI应用程序的实现[J].计算机应用,2003,4(3):68-92;
[7]周立功等.ARM嵌入式系统软件开发范例(一)[M].北京:北京航空航天大学出版社,2005:69-71;
[8]孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006:90-92;
[9]曲晋立,顾亮,黄华.嵌入式操作系统与Linux.嵌入式系统论文集[M],2000;
[10]王成,刘金刚.基于Linux的嵌入式操作系统的研究现状及发展展望[J].微型机与应用,2004,16(5):45-46;
[11]董霄.基于Linux的嵌入式信息交互系统的研究与实现[D].电子科技大学,2004:49-50;
[12]潘巨龙,黄宁,姚伏天等.ARM9嵌入式Linux系统构建与应用[M].北京:北京航空航天大学出版社,2006:127-129;
[13]李宇丽.基于ARM的嵌入式Linux系统的研究及应用[D].西安电子科技大学,2007:37-38;
[14]自永强,刘志勇等.基于ARM和Linux的嵌入式系统软件设计核心技术[J].火炮发射与控制学报,2006,(1):66-68;
[15]KarimYagbmour. Bullding Embedded Linux Systems[M]. New York: O'Reilly&Assoeiates, April 2003;
[16]刘勇.Linux开发技术研究[D].西南交通大学,2004:21-22;
[17]邓晓鸥,周忠丽.基于Qt/Embedded和Linux的嵌入式GUI的研究与实现[J].中国民航飞行学院学报,2005,6(1):86-88;
[18]郑灵翔等.嵌入式Linux系统设计分析[J].扬州大学学报,2006,9(1):58-60;
[19][美]K.Wall, M.Watson, M.Whitiset著,王勇,王一川等译.GNU/Linux编程指南[M].北京:清华大学出版社,2004:68-70;
[20]孙少华,徐立中.面向嵌入式Linux系统的图形用户界面[J].计算机技术与发展,2005,(10):29-30;
[21]魏永明.嵌入式Linux系统图形及用户界面综述.http//www.mini gui.org;
[22]王存健,张建正.嵌入式Linux下Qt/Embedded的应用[J].计算机技术与发展,2006,16(11):23-26;
[23]Xteam(中国)软件技术有限公司.Qt程序设计[M].北京:清华大学出版社,2002:78-90;
[24]王作羽.Qt/Embedded下GUI应用程序开发[J].开放系统世界,2006,(6):93-100;
[25]肖世杰.嵌入式图形系统若干关键技术研究[D].华中科技大学,2007;
[26]深圳市优龙科技有限公司Qt.嵌入式图形开发文档;
[27]纪竞舟,付宇卓.基于ARM LINUX的嵌入式GUI的研究和移植[J].计算机仿真,2004(2)5:21-24;
[28]Yi Ping, Zou Futai, Jiang Xinghao, Li Jianhua. MiniGUI, A Graphics User Interface System for the Embedded System. Journal of Systems Engineering and Electronics[J]. 2007,4(18):785-794.
[29]胡湘华,廖湘科.嵌入式Linux系统的Qt/Embedded图形界面开发[J].计算机工程与科学,2002,(6):115-116;
[30]安成锦,孙茂阳.,李坡.嵌入式Linux系统GUI设计与分析[J].现代电子技术,2005,(12):22-23;
[31]李善平,刘文峰,王焕龙.Linux与嵌入式系统[M].北京:清华大学出版社, 2003:56-58;
[32]孙天泽,袁文菊,张海峰.嵌入式设计及Linux驱动开发指南—基于ARM处理器[M].北京:电子工业出版社,2005:112-114;
[33]谢长生,龚文京,徐君明.基于Qt/Embedded的嵌入式系统GUI开发[J].计算机工程与科学,2005.27(6):38-39;
[34]广州友善之臂计算机科技有限公司.SBC2440硬件手册,2007:75-76;
[35]广州友善之臂计算机科技有限公司.SBC2440硬件手册,2007:76-77;
[36]Xu ShaoHai. Implementation of MP3 Playout System on ARM based on SoC Develepment Platform[D].国立中山大学.2004:34-36;
[37]广州友善之臂计算机科技有限公司.SBC2440硬件手册,2007:80-81;
[38]周立功等.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005:102-104;
[39]王学龙.嵌入式Linux系统设计与应用[M].北京:清华大学出版社,2001:150-152;
[40]潘巨龙,黄宁,姚伏天等.ARM9嵌入式Linux系统构建与应用[M].北京:北京航空航天大学出版社,2006:168-170;
[41]周立功等.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005:178-180;
[42]Andrew S, Tanebaum & Albert S, Woodhull. Operating Systems Design and Implementation[M].电子工业出版社,2001:112-125;
[43]董士海.基于ARM LINUX的嵌入式GUI的研究和移植[J].微电脑世界,2007,49:23-26;
[44]夏林,张光显,张丽娟.基于Linux操作系统的嵌入式GUI及其设计改进[J].现代电子技术,2004(21):12-13;
[45]刘峥嵘,张智超,许振山等.嵌入式Linux应用开发详解[M].北京:机械工业出版社,2005:173-175;
[46]陆宝格,邵贝贝,李荐民.ARM&Linux嵌入式系统教程[M].北京:北京航空航天大学出版社,2004:143-145;
[47]陈华才译.QT3.3白皮.www.trolltech.com;
[48]DanielSolin.24小时学通Qt编程[M].北京:人民邮电出版社,2000:157-160;
[49]钱华锋,雷航.面向对象嵌入式GUI研究和模式应用[J].计算机应用,2004,(04):10-15;
[50]杨中华,李兵.基于Qt/Embedded的GUI应用程序的实现[J].现代电子技术,2008,(5):11-13;
[51]深圳优龙科技有限公司.Qt嵌入式图形开发.2004:89-90;
[52]张兴财.杨康等.基于ARM的嵌入式Linux系统中GUI的研究和实现[J].沈阳理工大学学报,2006,25(5):67-68;
[53]王存健,张建正.嵌入式Linux 下 QT/Embedded的应用[J].计算机技术与发展,2006,16(11):179-181;
[54]赵霞.基于Framebuffer的嵌入式GUI系统实现[J].微计算机信息,2007,35(3):46-48;
[55]吴娴.基于Qtopia和嵌入式Linux开发手持设备上的中文输入法[J].计算机应用与软件,2008,25(5):39-41;
[56]龙中花,廖建明.基于Qtopia的中文输入法设计与实现[J].成都信息工程学院学报,2004,19(4):528-531;
[57]蔡志明,卢传富,李立夏.精通Qt4编程[M].北京:电子工业出版社,2008:97-99;
[58]冯世奎,刘灼.Linux嵌入式系统根文件系统的选择与制作[J].成都信息工程学院学报,2006,4(21):508-512;
[59]M.Zaki, Tarek S, Sobh. A Application of Qt/Embedded on Embedded Linux[J]. Computer Technology and Develop,27(2004):201-220;
[60]广州友善之臂计算机科技有限公司.SBC2440硬件手册,2007:89-91;