嵌入式Linux图形用户界面的研究与开发
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着计算技术、芯片设计和半导体制造技术的快速发展,嵌入式系统在硬件性能上得到极大提高,功能曰趋丰富,软件的复杂度也空前提高。目前在市场上出现了种类繁多的嵌入式系统产品如PDA、MP4、Smart Phone、GPS等。目前嵌入式产品大都集中了多种应用功能,如便携式多媒体播放器不但提供多媒体播放功能,还集成了照相、摄像、收音机及电子书功能。嵌入式产品复杂功能的实现除了依赖于高性能的嵌入式处理器之外,也得益于应用的嵌入式操作系统,如WinCE、嵌入式Linux。
     由于Linux具有开放源代码、网络功能完善、内核支持大多数嵌入式处理器(如ARM、PowerPC、MIPS等)、方便针对处理器的定制等优势,因此基于嵌入式Linux系统开发应用程序,对于商业和科研用户,都具有极大的吸引力,这也是嵌入式Linux系统得以快速发展的原因。
     图形用户界面是嵌入式系统软件开发的重要内容,基于Linux内核开发实用、高效、美观的GUI是目前研究的一个重要课题。对商业用户来讲,开发自有GUI系统,不仅能针对自有产品特点进行快速开发和定制,又能省去商业授权费用,因此GUI的开发吸引了国内外研究机构的极大兴趣。
     本人在深入系统地学习了Linux系统的基础上,对嵌入式系统图形用户界面进行了深入的研究,针对目前已有嵌入式GUI存在的问题,针对性地提出了基于C语言开发GUI的方案,并通过便携式多媒体播放器的开发得以实现和验证。
     文中首先介绍了嵌入式系统的发展历程、嵌入式操作系统和嵌入式图形用户界面的开发现状,研究了几种目前流行的嵌入式GUI开发工具以及它们所面临的问题,探讨了基于C语言开发的PMP图形用户界面的解决方案,介绍了本方案的开发环境构建,包括宿主机和目标板软硬件部分,PMP项目的系统方案和软件架构,以及典型界面元素的具体实现,最后给出了软件编程实现的细节以及本方案目前的应用实例。
With the development of computing technology, IC designing and semiconductor manufacturing, the embedded system's performance is improved significantly which based on high performance MPU. There are kinds of embedded consumer products on the market, such as PDA, MP4, SmartPhone and GPS etc, which integrate multi functions and applications. For example Portable Media Player is not only the multi-media player, but also provide camera, video recorder and the GPS application. The multi-function application realization is not only depended on hardware, especially the processor, but also the support of the embedded operating system, e.g. WinCE, embedded Linux.
     Because of the adventures of open source, network supporting, easily configuration for embedded processor (supporting ARM, PPC, MIPS, etc.), and the convenience adoption, embedded Linux absorbs researchers', development institutes and commercial company's interest. It is one of the most important reasons for Linux to develop rapidly.
     GUI is an important part of embedded software. Especially for commercial users', the own GUI system is helpful to develop products quickly, and save the commercial charge.
     We performance the research of popular embedded GUI systems, point out their weak points, and proposed a scheme to develop GUI system in C language, finally realized this GUI project on portable media player products.
     At first, the thesis outlines the history of embedded system, embedded operating system and several kinds of GUI system, and points out the problems. Secondly propose the scheme to develop PMP GUI in C language, and the project development environment building process, including target board and Host PC. Thirdly introduce PMP system, PMP GUI software architecture, and several typical GUI elements implementation. Finally are programe details and some PMP products which adopted our project.
引文
[1]王学龙.嵌入式Linux系统设计与应用[M].北京:清华大学出版社,2001.
    [2]邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2001.
    [3]Karim Yagbmour. Building Embedded Linux Systems [M]. New York: O'Reilly & Associates, April 2003.
    [4]宋立新.面向嵌入式操作系统的图形用户界面[D].浙江大学硕士学位论文,2001
    [5]魏永明.实时嵌入式Linux上GUI的发展与展望[J].微电脑世界,2000,(49):14-16.
    [6]Michael Barr.C/C++嵌入式系统编程[M]。北京:中国电力出版社,2002.
    [7]周立功等.ARM嵌入式MiniGUI初步与应用开发范例[M].北京:北京航空航天大学出版社,2006.
    [8]魏永明.嵌入式Linux系统图形及用户界面综述.http://www.minigui.org
    [9]潘巨龙 黄宁 姚伏天等.ARM9嵌入式Linux系统构建与应用[M].北京:北京航空航天大学出版社,2006.
    [10]Andrew Sloss, Dominic Symes. ARM System Developer's Guide: Designing and Optimizing System Software. Elsevier, 2005.
    [11]周立功 陈明计 陈渝.ARM嵌入式Linux系统构建与驱动开发范例[M].北京:北京航空航天大学出版社,2006.
    [12]孙天泽 袁文菊 张海峰.嵌入式设计及Linux驱动开发指南—基于ARM9处理器[M].北京:电子工业出版社,2005.
    [13]周立功等.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.
    [14]周立功等.ARM嵌入式系统软件开发范例(一)[M].北京:北京航空航天大学出版社,2005.
    [15]周立功 张华等.深入浅出ARM7—LPC213x/214x(上册)[M].ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.
    [16]田军营 韩建海 马志荣等.uCLinux源代码中Make文件完全解析—基于ARM开发平台.北京:机械工业出版社,2005.
    [17]Richard Petersen. Linux: The Complete Reference. Mcgraw-Hill, 2002. Jonathan Corbet. Linux Device Drivers, 3rd Edition. O'Reilly. 2006
    [18]李玉波 朱自强等.Linux C编程[M].北京:清华大学出版社,2005年。
    [19]杨延军.用busybox制作嵌入式Linux的文件系统[J].单片机与嵌入式系统2005.8~10.
    [20]李善平等.Linux操作系统试验教程[M].北京:机械工业出版社,2002.
    [21]位元化.Linux C/C++入门与进阶[M].北京:科学出版社,2004.
    [22]Tom Swan.GNU C++for Linux[M].O'Reilly,2000.
    [23]施威铭研究室.Linux C语言务实[M].北京:机械工业出版社,2002.
    [24]孙琼.嵌入式Linux应用开发详解[M].北京:人民邮电出版社,2006.
    [25]赵炯.Linux内核完全注释[M].北京:机械工业出版社2004.
    [26]刘淼.嵌入式系统接口设计与Linux驱动开发[M].北京:北京航空航天大学出版社,2006
    [27]陈宁 张元海 基于嵌入式Linux的PMP系统设计与实现[D].电子设计应用.2006.9117~119.
    [28]章立 徐立鸿等.嵌入式数字视频录像机GUI系统的设计与实现[D].微电子学与计算机,2006.23(2)58~61
    [29]郑炜.便携式多媒体播放器硬件设计[D].浙江大学大学硕士学位论文.2006.
    [30]魏永明.实时嵌入式Linux系统上GUI的发展与展望[D].微电脑世界,2000,49:23~26
    [31]王云博 李德升等.一种轻量级嵌入式GUI系统及其实现[D].计算机应用,2006.26(9)2244~2246
    [32]陆科进 徐宏炳.基于RTOS的嵌入式微型图形人机界面的设计[D].现代计算机,2003.249~51
    [33]万小辉 王申康.为嵌入式系统定制MicroWindows[D].江南大学学 报,2006,5(1)42~44
    [34]康铁英 李维等.基于MiniGUI系统灌溉控制人性化计算机界面设计[D].辽宁师范大学报,2006,29(1)46~48
    [35]李凯 窦振中.基于ARM嵌入式系统的图形用户界面控制方法[D].扬州大学学报,2006,9(1)58~60
    [36]白永强 刘志勇等.基于ARM和Linux的嵌入式系统软件设计核心技术[D].火炮发射与控制学报,2006,(1)66~68
    [37]袁野 王宏远.一种嵌入式系统中GUI的设计[D].计算机与数字工程,2006,34(1)103~105
    [38]任春香 吴晓.基于MiniGUI的智能化电子缝制设备嵌入式应用系统的开发[D].微电子学与计算机,2006,23(1)126~128
    [39]Andrew beteman, lain paterson-stephens, The DSP Handbook Algorithms, Applications and Design Techniques
    [40]Andrew S. Tanenbaum & Albert S. Woodhull. Operating Systems Design and Implementation.电子工业出版社.2001.4
    [41]D.M.Dhamdhere.Systems Programming and Operating Systems[M].电子工业出版社.2001.9
    [42]Gersho A. Stochastic coding of speech signals at very low bit rate[D]. In:Proc. Int. conf. On Communications, pp. 1610~1613, May 1984
    [43]H. Lyckama&L. Bayer. UNIX time-sharing system: The MERT Operating System[D]. Bell System Technical Journal. 57(6):2049-2086, 1978.
    [44]ISO/IEC 11172-3. Coding of moving picture and associated audio for digital storage media at up to about 1.5Mbit/s-part 3 audio[D], November 1991.
    [45]JohG. Proakis. Principles, algorithms, and Applications[M], Manolakis, Published 1996.PrenticeHall.
    [46]Large Scale Integration[D], Asian and South Pacific, 1995 Page (s):141-148
    [47]T. Sakamoto, M. Taruki, T. Hasty. A Fast MPEG-audio layer Ⅲalgorithm for A 30-BIT[D], MCU, IEEE transactions on consumer electronics, Vol. 45 No. 3
    [48]William Stallings. Operating Systems Internals and Design Principles[M]. 电子工 业出版社.2001.6
    [49]Xu,ShaoH Implementation of MP3 Playout System on ARM based on SoC Development Platform[D],硕士论文,国立中山大学2004年7月
    [50]Z. Wang: on computing the discrete Fourier and cosine transforms, IEEE Trans. Acoust, speech, signal processing[D], ASSP-33.5. pp1341-1 344 (Oct. 1985)
    [51]张爱雪 顾惠芬.基于ARM7嵌入式系统中GUI的设计研究[D],仪表技术,2006,(2)7~9
    [52]李勇 张建正.嵌入式系统Linux下LCD显示驱动的开发[D].计算机技术与发展,2006,16(2)93-95
    [53]万扬 戴运桃.嵌入式系统VxWorks下界面元素位置存储文件的创建和应用[D].应用科技,2006,33(3)42~44
    [54]麦响习 裴海龙.基于Linux及Tcl/Tk的数控系统人机界面的实现[D].计算机应用研究,2006,(2)122~124
    [55]Mizi: http://www.mizi.com
    [56]Busybox: http://www.busybox.net
    [57]MiniGUI: http://www.minigui.org
    [58]Linuxfans: http://www.linuxfans.org
    [59]LinuxSir: http://www.linuxsir.org
    [60]Linux设备驱动网http://www.linuxdevices.com