收藏 分销(赏)

基于QT的多媒体播放器系统的设计与实现.doc

上传人:w****g 文档编号:3359476 上传时间:2024-07-03 格式:DOC 页数:52 大小:912.04KB
下载 相关 举报
基于QT的多媒体播放器系统的设计与实现.doc_第1页
第1页 / 共52页
基于QT的多媒体播放器系统的设计与实现.doc_第2页
第2页 / 共52页
基于QT的多媒体播放器系统的设计与实现.doc_第3页
第3页 / 共52页
基于QT的多媒体播放器系统的设计与实现.doc_第4页
第4页 / 共52页
基于QT的多媒体播放器系统的设计与实现.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、上海电力学院本科毕业设计(论文) 题目:基于QT的多媒体播放器 系统的设计与实现院系:计算机与信息工程学院专业年级:07电子科学与技术学生姓名:尹倬卿学号:20232680指导教师: 金一鸣 2023年06月14日基于QT的多媒体播放器系统的设计与实现摘要 随着用户规定的不断提高,越来越多的嵌入式设备使用功能强大、价格低廉的嵌入式Linux作为操作系统并开始采用较为复杂的图形用户界面。Qt以其强大的功能、良好的可移植性逐渐成为一种被广泛使用的GUI系统。正是由于嵌入式操作系统及其相应图形用户界面的不断发展,嵌入式软件的开发显得越来越重要。其中嵌入式媒体播放器由于可以满足人们的视听享受已经逐渐成

2、为了系统中不可或缺的重要组成部分,在嵌入式系统上开发媒体播放器已经成为了一个技术热点,当前许多嵌入式产品中都包含媒体播放器。因此在基于Qt的嵌入式Linux系统中实现媒体播放器具有深刻的意义和实用价值。本文运用QT技术在Linux下进行GUI设计,以一个图形界面为例,运用QT creator软件编程,实现一个简朴的多媒体播放器。此播放器可以播放本地的音频文献,在功能方面,它具有一些基本的音乐操作解决功能(暂停、播放、音量调节、拖动、停止等),此外,界面还能显示歌曲信息,比如歌手,播放的时候可以通过按钮实现随机播放功能。关键词:嵌入式系统 多媒体播放器 QT LinuxQT multimedia

3、 player based on the design and implementationAbstract With the continuous improvement of user requirements, more and more powerful embedded devices, low-cost embedded Linux as an operating system and begin to adopt a more sophisticated graphical user interface. Qt for its powerful features, good po

4、rtability has become a widely used GUI systems.It is because of the embedded operating system and its corresponding continuous development of graphical user interface, embedded software development becomes more and more important. Embedded media player which can meet the audio-visual enjoyment of th

5、e system has gradually become an indispensable part of the development in the embedded system media player technology has become a hot spot in both the current number of embedded products contains the media player.Therefore, in Qt-based embedded Linux system to achieve media player has a profound si

6、gnificance and practical value. This use of technology under Linux QT GUI design, with a graphical interface, for example, the use of QT creator software programming, a simple multimedia player.This player can play local audio files, in terms of functionality, it has some basic music processing oper

7、ations (pause, play, adjust volume, drag, stop, etc.) In addition, the interface can display song information, such as singers, Play time can be achieved through the random playback function buttons.Keywords Embedded systems multimedia player QT Linux1.引言11.1 系统研究背景11.2 研究目的和意义31.3 论文重要内容及设计目的42.嵌入式

8、系统62.1 嵌入式解决器62.2 嵌入式系统介绍63.嵌入式Linux操作系统及QT编译环境93.1 嵌入式Linux操作系统介绍93.2 嵌入式Linux系统的优点113.3 嵌入式Linux的内核123.3 QT creator 介绍143.3.1 Qt所支持的平台153.3.2 Qt类库184.系统的软硬件224.1 硬件开发板介绍224.1.1 S3C2440 芯片简介224.1.2 2440 外部硬件连接244.2 软件开发环境254.2.1 引导装载程序264.2.2 宿主机开发环境配置264.2.3 交叉编译环境的建立275.嵌入式图形用户界面的实现305.1 架构设计305.

9、2 Qt Phonon设计简朴介绍315.3 设计成果及分析356.结论37谢辞38参考文献391.引言1.1 系统研究背景由于Linux系统具有对各种设备的广泛支持性,因此,能方便地应用于机项盒、PDA、POS系统、掌上电脑、WAP手机、寻呼机、车载盒以及工业控制等智能信息产品中。本次的重要任务,是Linux系统下运用QT进行多媒体播放器的设计与研究。其中会涉及到Linux操作系统的移植,其目的是为了可以更好的运用开发板开发应用程序,也能使开发板可以用于更多的领域。可以用于安全防卫系统,军事工业以及智能化传感器等方面的开发。操作系统的成功移植,使得开发板可以更灵活,更方便的开发各种各样的应用

10、程序,这也是本课题研究的意义之所在。多媒体播放器与嵌入式系统:随着芯片技术的快速发展,嵌入式系统的性能逐步提高,功能也越来越丰富。嵌入式系统在众多领域的应用给我们的生活带来了便利,并且对人们的生活方式的改变和生活质量的提高具有重要的影响。在这些领域中,消费电子产品的应用品有更为广泛的潜力,特别是便携式消费电子产品。当前,消费类电子产品更新换代的速度进一步加快,市场需求不断增大。在MP3数码随身听取得巨大的市场成功后,支持视频的便携式播放器逐渐进入消费者的视线,成为继MP3之后的新一代数码影音娱乐平台。受MP3的影响,人们习惯的将这一类嵌入式多媒体系统称作MP4。在法国Archos公司推出第一款

11、MP4掌上影院后,众多公司均看好MP4的发展态势。新一代MP4良好的发展前景和潜在的市场,成为移动数码产业的新亮点,吸引着众多厂商大力研发,并将其推向市场。除播放视频这一基本功能外,嵌入式多媒体系统还附带了若干增值功能,如音乐播放、图片浏览、游戏、调频收音、录音、电子书以及拍照、录像功能。嵌入式多媒体播放器国内外发展现状:目前嵌入式多媒体的内部结构,比较成熟的解决方案有三种:基于 SigmaDesigns851x系列芯片的解决方案、基于 TlDM32ODSP+ARM解决器的解决方案和基于工 ntelPXA27x的解决方案,这三种解决方案是目前的主流方案。上述几种方案各有特点:(1)SigmaD

12、esigns 851x 方案SigmaDesignS851x解决器是目前性能最强、最全面的专业解码芯片,采用双核设计,将200MHz 32位RISC解决器和MPEG解码解决器集成于单芯片上,在无需其它外围芯片支持的情况下,完毕系统所需各种接口的提供、系统解决以及流畅的 WMA V9、 DivXV3.11、 DivXV4.X和S.X、MPEG-4、MPEG-2、MPEG-1等音视频解码。其中对系统规定极高的MPEG-2解码, SigmaDesigns851x能轻松达成3OfpsDI,流畅自如,难能可贵!优点:单芯片,低成本,低功耗;硬核视频解码,视频播放效果好缺陷:无法播放网络视频格式RM,RM

13、VB等(2)TI DM320 DSP-I-ARM解决器的解决方案作为DSP巨头,TI力推DM320 DSP的PMP解决方案。TI方案是运用DM320 DSP进行音视频编解码解决,ARM解决器负责系统解决及提供外围设备接口。与SigmaDesigns方案同样,TI方案支持的媒体类型非常丰富,能支持WMV、 DivXV3.11、 DivXV4.X和5.X、MPEG-4、MPEG-2、MPEG-1等。但由于 TlDM320为纯DSP芯片,因此必须配合ARM解决器才干组成完整的解决方案,因此在成本上并不具有优势。优点:支持的媒体类型丰富,编解码能力强缺陷:必须配合ARM解决器,成本不占优势,功耗较大;

14、不支持网络视频格式RM,RMVB(3)Intel PXA27x 的解决方案Intel公司于2023年终推出了性能最为强劲的PXA27x嵌入式解决器,最高频率可达624MHz。作为一款性能及其强劲的嵌入式解决器,配合嵌入式Linux或wince操作系统,PXA27x理论上可以支持任何媒体格式,并通过软件升级,支持未来媒体格式。但由于MPEG-2对硬件的极高规定,因此单纯依靠PXA27x解决器进行MPEG-2编解码是不现实的。Intel公司于2023年推出了2700G多媒体加速芯片,配合PXA270进行视频加速与3D加速。同时,PXA27x加入了wireless MMX技术和SpeedStep动态

15、电源管理技术,不仅大大增强了PXA270的媒体解决能力,并且极大减少了系统功耗,延长PMP产品的电池寿命。 2700G的加入,更使PXA27x方案成为全能解决方案,不仅完美解决了MPEG-2编解码问题,更使基于PXA27x的PMP产品能向多功能化发展,可以加入游戏、摄像等功能,成为个人娱乐终端。优点:支持目前所有的媒体类型,可通过软件升级支持未来媒体类型;接口丰富,可支持SD、MS、CF等;支持最大400万象素摄像头;支持动态电源管理,功耗低缺陷:成本也许较高目前市面上尚有其它几种非主流方案,如PxA255解决方案、Sunplus SPCA536解决方案、 Freescalei.MX21解决方

16、案等。基于PXA255的方案特点是功耗较低,且可以支持较多的媒体格式,但缺陷是无法支持大尺寸图像的编解码,如MPEG-2等。 Sunplus SPCA536解决方案价格低廉,但仅支持MPEG-4编解码与JPEG,支持媒体类型单纯,功能单一 ;FreeSCalei.MX21芯片原为智能手机专门设计,接口类型比较丰富,但音视频解决能力一般,无法进行流畅的MPEG-4播放,无法解决MPEG-2视频。由于PMP(便携式多媒体播放器)产品的研发难度较大,目前市面上的大多数PMP产品均为国外或台湾设计。中国大陆消费类娱乐产品的生产商因研发能力普遍较低而无法自己研发产品,因此未来中国大陆PMP设计制造将更多

17、的按照生产商 +Design House的模式进行,这样生产商可以充足发挥自己的渠道和规模优势,而 Design House则发挥自己的强设计能力和低营运成本优势,双方合作则可以共同把PMP市场做大、做强。国内目前也有进行PMP方案设计的公司,如南京东集公司 (.com),采用的是Intel嵌入式解决器PXA255方案。采用SigmaDesignS解决方案的公司重要集中在深圳,如深圳市深视通科技开发有限公司(.com),该公司目前己经设计出了基于 SiglnaDesigns85n解决器的成熟的PMP解决方案,并制作了DEMO。而 TIDM320方案,目前重要依靠TI合作伙伴美国Ingenien

18、t公司推广。1.2 研究目的和意义当前,嵌入式系统正处在一个飞速发展和剧烈竞争的时代,在未来的几年里,这种发展和竞争将达成白热化的限度。就嵌入式系统的技术和市场来说,国外的发展速度极快,技术日趋成熟,市场格局基本形成;国内发展也增长不久,市场潜力很大。在国外,嵌入式系统硬件,特别是嵌入式CPU的解决能力提高不久,由8位、16位升级到32位,掌上电脑、PDA等新产品层出不穷,产业规模日益壮大。在国内,嵌入式系统软件硬件重要靠国外引进,技术基础比较薄弱。目前,国内外相继推出了很多商业化嵌入式系统,都在努力的为自己争取嵌入式的市场份额。国内比较成熟的实时操作系统Dalta OS等都已有了成熟的开发平

19、台。同时,Linux操作系统由于其公开的源代码也在嵌入式的应用中占有一席之地。在国内,大规模的嵌入式系统目前还非常少,此后的重点将转向基于Internet的各种嵌入式操作系统和信息家电领域,涉及Internet、网上证券交易、IP phone和VOB点播等。在这样的时代背景下,本文借助于嵌入式系统平台,完毕一个基于QT的多媒体播放器,其中重点完毕嵌入式操作系统的移植,涉及bootloader,内核以及文献系统移植,通过配置内核对操作系统进行优化,并加入调度器对内核进行实时化改造,以便使开发板可以更灵活、更方便的开发各种各样的应用程序。1.3 论文重要内容及设计目的本文在研究嵌入式系统开发技术的

20、基础上,提出了一套满足规定的低成本的嵌入式多媒体终端的解决方案。通过对系统的功能需求分析以及市场上主流解决器的功能和性能分析,选择了S3C2440实验平台和fedora 9.0、Linux分别作为系统的硬件和软件开发平台。此设计在Linux下,Qt/Embedded作为嵌入式系统图形用户界面GUI,通过虚拟机的fedora 9.0系统进行模拟,再在S3C2440实验板上烧写一个图形界面程序。本文的重要工作涉及三方面的内容,一方面,基于ARM平台开发相应的引导加载程序、构建嵌入式Linux操作系统;第二,针对ARM解决器和Linux操作系统特点进行音视频解码器的设计和研究;第三,对系统进行验证;

21、论文的重要结构如下:第一在介绍嵌入式系统基础上,着重介绍Linux的特点和优势,以及Linux内核的基本概念;第二 系统软硬件平台的搭建。涉及ARM解决器及硬件核心部件介绍、bootloader实现、交叉开发环境建立、Linux移植等;第三 运用QT技术在Linux下进行GUI设计,以一个图形界面为例,运用QT creator软件编程,并移植到S3C2440开发板上,实现设计目的。第四 Qmusic到开发板的移植。Qmusic为Linux下的简朴媒体播放软件,其简朴而实用的功能却是嵌入式系统所需要的。为此本章完毕其到开发板的移植,来完善嵌入式系统对音频文献的支持;最后,对论文进行总结。2.嵌入

22、式系统2.1 嵌入式解决器嵌入式解决器是嵌入式硬件平台的核心,负责系统事件的响应、任务的调度、外围器件的控制以及信号的解决。嵌入式解决器是由通用计算机中的CPU演变而来的。它的特性是32位以上,具有较高的性能。与通用计算机中的CPU不同的是,嵌入式解决器在实际嵌入式应用中只保存和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊规定。嵌入式解决器体积小、功耗低、成本低、可靠性高的优点使其在互联网、通信、消费类电子等多个领域得到了广泛的应用。目前重要的嵌入式解决器按体系结构不同可分为五大类:ARM、MIPS、POWERPC、x86和SH系列。ARM

23、内核是由ARM公司开发的一系列32位RISC解决器内核,当前有6个系列的产品:ARM7,ARM9,ARM9E,ARM10E,SecurCore以及最新的ARM11系列。目前业界可以提供ARM内核解决器的著名半导体公司有Intel,TI,Freescale, Analog Devices, Cirrus Logic和Samsung等。本课题设计采用的S3C2410解决器就是Samsung提供的一款采用32位ARM内核的解决器。S3C2440 内部集成了微解决器和一些手持设备的常用外围组件, 特别合用于手持产品。S3C2440微解决器是一个多用途的通用芯片,它内部集成了微解决器和常用外围组件,可用

24、于各种领域。它是应用于手持设备的低成本实现,提供了更高性价比。 2.2 嵌入式系统介绍嵌入式系统的定义如下:是一种以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格规定的专用计算机系统。由嵌入式系统的定义可见,嵌入式系统具有以下几大特点:(1) 技术密集嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、不断创新的知识集成系统。(2) 专用性强嵌入式系统是与应用紧密结合的,具有很强的专用性。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的

25、移植,即使在同一品牌、同一系列的产品中也要根据系统硬件的变化不断进行修改。同时针对不同的任务,往往需要对系统进行较大的更改,程序的编译下载要和系统相结合。(3) 系统精简嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等规定。因此目前嵌入式系统的开发一般是先建立一个相对通用的软硬件平台,然后在其基础上进行裁剪和精简,开发出适应各种需要的系统。一般而言,嵌入式系统的结构自底向上可分为3个部分,如图2-1所示嵌入式应用软件嵌入式操作系统嵌入式硬件平台图2-1 嵌入式系统的结构嵌入式硬件平台是整个嵌入式操作系统和应用软件运营的基础。不同的应用通常有不同的硬件平台,

26、但是基本的结构是相同的,通常涉及嵌入式解决器、存储器和输入输出(I/0)接口,如图2-2所示。嵌入式解决器存储器输入输出图2-2 嵌入式硬件平台结构3.嵌入式Linux操作系统及QT编译环境3.1 嵌入式Linux操作系统介绍一、 Linux起源、特性及应用领域Linux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的那年Torvals 25岁,后来通过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势,并以每年100%的用户递

27、增数量显示了Linux强大的力量。Linux的是一套免费的32位多人多工的操作系统,运营方式同UNIX系统很像,但Linux系统的稳定性、多工能力与网络功能已是许多商业操作系统无法比拟的,Linux尚有一项最大的特色在于源代码完全公开,在符合GNU GPL(General Public License)的原则下,任何人皆可自由取得、散布、甚至修改源代码。二、 主流Linux操作系统发行版简介就Linux的本质来说,它只是操作系统的核心,负责控制硬件、管理文献系统、程序进程等。Linux Kernel(内核)并不负责提供用户强大的应用程序,没有编译器、系统管理工具、网络工具、Office套件、多

28、媒体、绘图软件等,这样的系统也就无法发挥其强大功能,用户也无法运用这个系统工作,因此有人便提出以Linux Kernel为核心再集成搭配各式各样的系统程序或应用工具程序组成一套完整的操作系统,通过如此组合的Linux套件即称为Linux发行版。国外封装的Linux以Red Hat(又称为“红帽Linux”)、OpenLinux、SuSE、TurboLinux等最为成功:Red Hat是个商业气息颇为浓厚的公司,不仅展现开创Linux商业软件的企图心,也在1999年在美国科技股为主的那斯达克让公司股票成功上市,Red Hat渐渐被拱为Linux商业界龙头。Red Hat是目前销售量最高、安装最简

29、便、最适合初学者的Linux发行版,也是目前世界上最流行的Linux发行套件,它的市场营销、包装及服务做的相称不错,自行开发了RPM套件管理程序及X桌面环境Gnome的众多软件并将其源代码回馈给Open Source community。也正是由于Red Hat的方便性,安装程序将系统的构架或软件安装方式所有做了包装,用户学到的都是GUI界面(图形用户界面)上输入一些设立值的粗浅知识,至于软件安装了那些文献、安装到哪个文献目录、系统作了哪些设立,使用者则一无所知,一旦真正碰到系统程序发生问题时,要解决问题也就比较困难。Caldera将OpenLinux这套系统定位为容易使用与设立的发行版,以集

30、成使用环境与最终用户办公环境,容易安装使用与简便管理为系统目的,有望成为最流行的公司团队台式Linux操作系统,适合初学者使用,所有安装需要1GB的硬盘空间。Caldera有自行研发的图形界面的安装程序向导,安装过程可以玩俄罗斯方块,提供完整的KDE桌面环境,附赠功能强大的商业软件,如StarOffice、图形界面的硬盘分割工具Partition Magic等。SuSE是欧洲最流行的Linux发行版,并且SuSE是软件国际化的先驱,让软件支持各国语系,奉献颇丰,SuSE也是用RPM作为软件安装管理程序,但是SuSE并不适合新手使用,提供了非常多的工具软件,所有安装需4.5GB的硬盘空间,安装过

31、程也较为复杂。TurboLinux是日本制作的Linux发行版,其最大特色便是以日文版、中文简/繁体版、英文版三种形式发行,对软件国际化的推动经验丰富,安装的简易性与系统设立的难度与Red Hat差不多,且安装界面是汉化的,系统自身支持中文简体,在中国国内有广大的用户群。国内Linux发行版做的相对比较成功是红旗和中软两个版本,界面做得都非常的美观,安装也比较容易,新版本逐渐屏蔽了一些底层的操作,适合于新手使用。两个版本都是源于中国科学院软件研究所承担的国家863计划的Linux项目,但无论稳定性与兼容性与国外的版本相比都有一定的差距,操作界面与习惯与 Windows越来越像,提供一定技术支持

32、和售后服务,适宜于国内做低价的操作系统解决方案。3.2 嵌入式Linux系统的优点现今,与嵌入式应用相结合的嵌入式操作系统有VxWorks、Linux、WinCE、COS-II等,他们各有其特点,VxWorks的特点是可靠性,实时性,可裁剪性,相比较而言,WINCE是多线性、多任务、全优先的操作系统,是专门针对资源有限而设计,COS-II则是一个基于优先级的实时操作系统,每一个任务必须具有不同的优先级,假如优先级相同,任务将无法区分。而嵌入式Linux更具有优势。归纳起来,嵌入式Linux至少具有以下优势:(1)开放的源码,丰富的软件资源Linux是自由的操作系统,它的开放源码使用户获得了最大

33、的自由度。Linux上的软件资源十分丰富,每一种通用程序在Linux上都可以找到。(2)功能强大的内核,性能高效、稳定,多任务Linux的内核非常稳定,它的高效和稳定性已经在各个领域,特别在网络服务器领域,得到了事实的验证。Linux内核小巧灵活,易于淘汰,这使得它很适合嵌入式系统的应用。(3)支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等目前,Linux已经被移植到数十种硬件平台上,几乎支持所有流行的CPU。(4)完善的网络通讯、图形、文献管理机制Linux自产生之日起就与网络密不可分,网络是Linux的强项。此外,Linux还支持多种文献和图形系统。(5)支持大量的

34、周边硬件设备Linux上的驱动已经非常丰富了,它们支持各种主流硬件设备和最新硬件技术。(6)大小、功能都可定制Linux秉承Unix的优秀设计思想,非常灵活,各部分的可定制性都很强。(7)良好的开发环境,不断发展的开发工具集Linux有着非常优秀的完整开发工具链,有十几种集成开发环境,其中很多是免费的,大大减少了开发费用。(8)软件开发者的广泛支持Linux的自由精神吸引了成千上万的程序员投入到Linux的开发和测试中来,这使得Linux在短时间内就成为一个功能强大的操作系统。(9)价格低廉有效减少产品成本,对成本敏感的嵌入式系统来说至关重要,Linux恰好具有这一特性。正是这些优势,嵌入式L

35、inux系统的研发热潮正在蓬勃兴起,并且占据了很大的市场份额,除了一些传统的Linux公司(如RedHat、Monta Vista等)正在从事嵌入式Linux的开发和应用之外,IBM、Intel、Motorolar等著名公司也开始进行嵌入式Linux的研究。嵌入式图形用户界面(Graphics User Interface)系统是嵌入式实时操作系统的一个重要组成部分,随着嵌入式系统硬件设备可获得性的提高和价格的不断减少及嵌入式系统应用范围的不断扩大,嵌入式GUI系统的重要性越来越突出,特别是对高性能嵌入式人机图形交互界面的规定也越来越迫切,比如消费电子和工业实时控制系统。这些系统对GUI的基本

36、规定涉及:轻型、占用资源少高性能高可靠性可配置此外,适合嵌入式Linux的GUI还规定是开放源码的自由软件。时代的发展告诉我们,图形用户界面GUI的应用加速了计算机的普及广度,嵌入式技术的发展加速了计算机的普及深度,后PC时代呼唤着两者日益紧密的结合。所以对两者的研究有着深刻的意义。3.3 嵌入式Linux的内核内核(kernel)是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。Linux系统选择了单一的内核结构,单一内核就是操作系统中所有与系统相关功能都被封闭在内核中。单一内核与外部程序处在不同的内存地址空间中,并通过各种方式防止外部程序直接访问内核中的数据结构。这样的内

37、核将代码执行效率作为自己操作系统的第一要务,但是这种单一内核的结构也使得Linux操作系统对时实性有一定的影响。内核是操作系统的灵魂,Linux内核重要涉及内核抽象和对硬件资源的间接访问,负责管理文献、内存、启动系统并运营程序,负责从网络上接受和发送数据包等,简而言之,内核算际上是抽象的资源操作到具体硬件操作细节之间的接口。Linux内核重要由5个子系统组成,如图3-1所示:图3-1 Linux内核的抽象结构进程调度(SCHED):它控制着进程对CPU的访问。当需要选择下一个进程运营时,由调度程序选择最值得运营的进程,可运营进程事实上是仅等待CPU资源的进程。运用进程调度来实现进程间并行化、简

38、朴有序、互不干扰的特点。进程是一个动态的实体,从创建到消亡,是一个进程的整个声明周期,在这个周期中,进程要通过就绪态、阻塞态和运营态三个过程。进程调度用来实现进程状态之间的转换。用户进程由fork()系统调用实现,假如获得解决器正在运营的进程而申请不到某个资源,则调用sleep()进行休眠。进程执行系统调用的exit0或受到外部的杀死进程信号SIG_KILL时,进程状态变为ZOMBIE,释放所申请资源。内存管理(MM):它允许多个进程安全地共享主内存区域,Linux的内存管理支持虚拟内存,必要时,由操作系统负责在磁盘和内存之间互换程序块。内存管理从逻辑上可以分为硬件无关部分和硬件相关部分,硬件

39、无关部分提供了进程的映射和虚拟内存的对换,硬件相关部分为内存管理硬件提供了虚拟接口。虚拟文献系统(VFS):它隐藏了各种不同硬件的具体细节,为所有设备提供统一的接口,VFS还支持多种不同的文献系统,VFS可以分为逻辑文献系统和设备驱动程序。逻辑文献系统是Linux所支持的文献系统,如ext2、ext3、fat、jffs2等,设备驱动程序是为每一种硬件控制器所编写的设备驱动程序模块,如串口、并口、SPI口等。网络接口(NET):重要提供对各种网络标准的存取和各种网络硬件的支持,网络接口可以分为网络协议和网络驱动程序两部分。网络协议部分负责实现每一种也许的网络传输协议,网络设备驱动程序负责与硬件设

40、备进行通信。进程间通信(IPC):它重要是支持进程间的各种通信机制,如管道、SYSV机制、网络Socket方式和全双工管道,其中SYSV机制还涉及消息队列、信号量、共享内存。3.3 QT creator 介绍Qt creator是全新的跨平台集成开发环境,为QT开发人员的需求量身定制,由于捆绑了最新QT库二进制软件包和附加的开发工具,并作为QT SDK的一部分,Qt creator在单独的安装程序内提供了进行跨平台QT开发所需的所有工具。Qt creator重要是为了帮助新QT用户更快速入门并运营项目,还可提高有经验的QT开发人员的工作效率。QT的功能和优势:(1)使用强大的C+代码编辑器可快

41、速编写代码:语言标记和代码完毕功能;输入时进行静态代码校验以及提醒样式;上下文相关的帮助;代码折叠;括号匹配和括号选择模式;高级编辑功能。(2)使用浏览器工具管理源代码:集成了领先的版本控制软件,涉及Git、Perforce和Subversion;开放式文献,无需知晓确切的名称或位置;搜索类和文献;跨不同位置或文献沿用符号;在头文献和源文献,或在声明和定义之间切换。(3)为QT跨平台开发人员的需求而量身定制:集成了特定于QT的功能,如信号与槽;图示调试器,对QT类结构可一目了然;集成QT Designer可视化布局和格式构建器;只需单击一下就可生成和运营QT项目。(4)使用拖放功能快速设计用户

42、界面;定制widget,或从标准widget库中选择widget;以本地外观快速预览格式。(5)通过界面原型生成C+或Java代码:将QT Designer与Visual Studio或Eclipse IDE配合使用;使用QT信号与槽机制构建功能齐全的用户界面。3.3.1 Qt所支持的平台1.嵌入式 Linux(Embedded Linux)Qt for Embedded Linux 是用于嵌入式 Linux 所支持设备的领先应用程序架构。您可以使用 Qt 创建具有独特用户体验的具有高效内存效率的设备和应用程序。Qt 可以在任何支持 Linux 的平台上运营。Qt 的直观 API,让您只须少数

43、几行代码便可以更短的时间实现更高端的功能。特点:1. 用于Linux 的紧凑的视窗系统;2. 用于广泛的应用程序解决器的开发;3. 移植桌面代码至嵌入式平台,或通过重新编译,反之亦然;4. 编译移除不常使用的组件与功能;5. 运用系统资源并实现本地化性能;6. 开发嵌入式设备如同开发桌面系统同样轻松简朴。Qt 除了提供所有工具以及 API 与 类库 ,( 如 WebKit ) 外,Qt for Embedded Linux 还提供用于最优化嵌入式开发环境的重要组件。紧凑高效的视窗系统 (QWS):Qt 构建在标准的 API 上,应用于嵌入式 Linux 设备,并带有自己的紧凑视窗系统。基于 Q

44、t 的应用程序直接写入Linux 帧缓冲,解除了您对 X11 视窗系统的需求。具有减少内存消耗,占位更小,可运用硬件加速图形的优势,可编译移除不常使用的组件与功能等特点。虚拟帧缓冲 (QVFb):Qt for Embedded Linux 提供一个虚拟帧缓冲器,可以采用点对点逐像素匹配物理设备显示。具有真实的测试构架,在桌面系统上嵌入式测试,模拟物理设备显示的宽度、高度与色深等特点。进程间通讯 (IPC):IPC (进程间通讯)可以创建丰富的多应用程序用户体验。定义进程间通讯的两个重要概念即:信道与消息。可以进程监听并向信道发送消息,任何时候只要监听到一个进程便可创建信道。扩展的字体格式:Qt

45、 支持嵌入式 Linux 上的多种字体格式,涉及:TrueType, Postscript Type1 与 Qt 预呈现字体。Qt 扩展了Unicode 支持,涉及:构建时自动数据抽取和运营时自动更新。此外Qt还提供定制字体格式的插件,允许在运营时轻松添加新字体引擎。应用程序间的字体共享功能可以提高内存效率。基本规定:开发环境:Linux 内核 2.4 或更高;GCC 版本 3.3 或更高;用于 MIPS GCC 版本 3.4. 或更高。占用存储空间:存储空间取决于配置,压缩后: 1.7 4.1 MB,未压缩: 3.6 9.0 MB 。硬件平台:易于载入任何支持带 C+ 编译器和帧缓冲器驱动

46、Linux 的解决器。支持 ARM, x86, MIPS, PowerPC 。2.Mac平台Qt 涉及一套集成的开发工具,可加快在 Mac 平台上的开发。在编写 Qt 时,并不需要去设想底层解决器的数字表达法、字节序或架构。要在 Apple 平台上支持 Intel 硬件,Qt 客户只需重新编辑其应用程序即可。3.Windows平台使用 Qt,只需一次性构建应用程序,无须重新编写源代码,便可跨多个 Windows 操作系统的版本进行部署。Qt 应用程序支持 Windows Vista、Server 2023、XP、NT4、Me/98 和 Windows CE。4.Linux/X11平台Qt 涉及

47、一套集成的开发工具,可加快在 X11 平台上的开发。Qt 由于是 KDE 桌面环境的基础,在各个 Linux 社区人尽皆知。几乎 KDE 中的所有功能都是基于 Qt 开发的, 并且 Qt 是全球社区成员用来开发 成千上万的开源 KDE 应用程序的基础。5.Windows CE/MobileQt 是用 C+ 开发的应用程序和用户界面框架。通过直观的 API,您可以使用 Qt 为大量的设备编写功能丰富的高性能应用程序。Qt 涉及一套丰富的工具集与直观的API,意味着只须少数几行代码便可以更短的时间实现更高端的功能。重要特点:1.硬件依存性极小;2.支持多数现有的 Windows CE 配置;3. 对于自定义的硬件配置亦轻松构建;4. 移植桌面代码至嵌入式平台,或通过重新编译,反之亦然;5. 编译移除不常使用的组件与功能;6. 运用系统资源并实现高性能;7. 开发嵌入式设备尤如开发桌面系统同样轻松简朴。Qt 除了提供所有 工具 以及 API 与 类库 外,Qt for Windows CE 还提供用于最优化嵌入式开发环境的附加功能。本地化和可定制的外观:Qt 在使用时,可以支持 Windows Mobile 和 Windows CE 两种样式。 在运营时,Qt 应用程序将检测使用哪一种样式

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服