欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

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

    • 资源ID:2018897       资源大小:1.02MB        全文页数:48页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    上海电力学院本科毕业设计(论文) 题目:基于QT的多媒体播放器 系统的设计与实现院系:计算机与信息工程学院专业年级:07电子科学与技术学生姓名:尹倬卿学号:20072680指导教师: 金一鸣 2011年06月14日基于QT的多媒体播放器系统的设计与实现摘要 随着用户要求的不断提高,越来越多的嵌入式设备使用功能强大、价格低廉的嵌入式Linux作为操作系统并开始采用较为复杂的图形用户界面。Qt以其强大的功能、良好的可移植性逐渐成为一种被广泛使用的GUI系统。正是由于嵌入式操作系统及其相应图形用户界面的不断发展,嵌入式软件的开发显得越来越重要。其中嵌入式媒体播放器由于能够满足人们的视听享受已经逐渐成为了系统中不可或缺的重要组成部分,在嵌入式系统上开发媒体播放器已经成为了一个技术热点,当前许多嵌入式产品中都包含媒体播放器。因此在基于Qt的嵌入式Linux系统中实现媒体播放器具有深刻的意义和实用价值。本文运用QT技术在Linux下进行GUI设计,以一个图形界面为例,运用QT creator软件编程,实现一个简单的多媒体播放器。此播放器能够播放本地的音频文件,在功能方面,它具备一些基本的音乐操作处理功能(暂停、播放、音量调节、拖动、停止等),此外,界面还能显示歌曲信息,比如歌手,播放的时候能够通过按钮实现随机播放功能。关键词:嵌入式系统 多媒体播放器 QT LinuxQT multimedia 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 portability 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 the 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 significance 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 operations (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.嵌入式系统62.1 嵌入式处理器62.2 嵌入式系统介绍63.嵌入式Linux操作系统及QT编译环境93.1 嵌入式Linux操作系统介绍93.2 嵌入式Linux系统的优点113.3 嵌入式Linux的内核123.3 QT creator 介绍143.3.1 Qt所支持的平台一五3.3.2 Qt类库一八4.系统的软硬件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.2 Qt Phonon设计简单介绍315.3 设计成果及分析356.结论37谢辞38参考文献39III1.引言1.1 系统研究背景由于Linux系统具有对各种设备的广泛支持性,因此,能方便地应用于机项盒、PDA、POS系统、掌上电脑、WAP手机、寻呼机、车载盒以及工业控制等智能信息产品中。此次的主要任务,是Linux系统下利用QT进行多媒体播放器的设计与研究。其中会涉及到Linux操作系统的移植,其目的是为了能够更好的利用开发板开发应用程序,也能使开发板可以用于更多的领域。可以用于安全防卫系统,军事工业以及智能化传感器等方面的开发。操作系统的成功移植,使得开发板可以更灵活,更方便的开发各种各样的应用程序,这也是本课题研究的意义之所在。多媒体播放器与嵌入式系统:随着芯片技术的快速发展,嵌入式系统的性能逐步提高,功能也越来越丰富。嵌入式系统在众多领域的应用给我们的生活带来了便利,并且对人们的生活方式的改变和生活质量的提高具有重要的影响。在这些领域中,消费电子产品的应用具有更为广泛的潜力,尤其是便携式消费电子产品。当前,消费类电子产品更新换代的速度进一步加快,市场需求不断增大。在MP3数码随身听取得巨大的市场成功后,支持视频的便携式播放器逐渐进入消费者的视线,成为继MP3之后的新一代数码影音娱乐平台。受MP3的影响,人们习惯的将这一类嵌入式多媒体系统称作MP4。在法国Archos公司推出第一款MP4掌上影院后,众多企业均看好MP4的发展态势。新一代MP4良好的发展前景和潜在的市场,成为移动数码产业的新亮点,吸引着众多厂商大力研发,并将其推向市场。除播放视频这一基本功能外,嵌入式多媒体系统还附带了若干增值功能,如音乐播放、图片浏览、游戏、调频收音、录音、电子书以及拍照、录像功能。嵌入式多媒体播放器国内外发展现状:目前嵌入式多媒体的内部结构,比较成熟的解决方案有三种:基于 SigmaDesigns851x系列芯片的解决方案、基于 TlDM32ODSP+ARM处理器的解决方案和基于工 ntelPXA27x的解决方案,这三种解决方案是目前的主流方案。上述几种方案各有特点:(1)SigmaDesigns 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,RMVB等(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处理器,成本不占优势,功耗较大;不支持网络视频格式RM,RMVB(3)Intel PXA27x 的解决方案Intel公司于2003年底推出了性能最为强劲的PXA27x嵌入式处理器,最高频率可达624MHz。作为一款性能及其强劲的嵌入式处理器,配合嵌入式Linux或wince操作系统,PXA27x理论上可以支持任何媒体格式,并通过软件升级,支持未来媒体格式。但由于MPEG-2对硬件的极高要求,因此单纯依靠PXA27x处理器进行MPEG-2编解码是不现实的。Intel公司于2004年推出了2700G多媒体加速芯片,配合PXA270进行视频加速与3D加速。同时,PXA27x加入了wireless MMX技术和SpeedStep动态电源管理技术,不但大大增强了PXA270的媒体处理能力,而且极大降低了系统功耗,延长PMP产品的电池寿命。 2700G的加入,更使PXA27x方案成为全能解决方案,不但完美解决了MPEG-2编解码问题,更使基于PXA27x的PMP产品能向多功能化发展,可以加入游戏、摄像等功能,成为个人娱乐终端。优点:支持目前所有的媒体类型,可通过软件升级支持未来媒体类型;接口丰富,可支持SD、MS、CF等;支持最大400万象素摄像头;支持动态电源管理,功耗低缺点:成本可能较高目前市面上还有其它几种非主流方案,如PxA255解决方案、Sunplus SPCA536解决方案、 Freescalei.MX21解决方案等。基于PXA255的方案特点是功耗较低,且能够支持较多的媒体格式,但缺点是无法支持大尺寸图像的编解码,如MPEG-2等。 Sunplus SPCA536解决方案价格低廉,但仅支持MPEG-4编解码与JPEG,支持媒体类型单纯,功能单一 ;FreeSCalei.MX21芯片原为智能手机专门设计,接口类型比较丰富,但音视频处理能力一般,无法进行流畅的MPEG-4播放,无法处理MPEG-2视频。由于PMP(便携式多媒体播放器)产品的研发难度较大,目前市面上的大多数PMP产品均为国外或台湾设计。中国大陆消费类娱乐产品的生产商因研发能力普遍较低而无法自己研发产品,因此未来中国大陆PMP设计制造将更多的按照生产商 +Design House的模式进行,这样生产商可以充分发挥自己的渠道和规模优势,而 Design House则发挥自己的强设计能力和低营运成本优势,双方合作则能够共同把PMP市场做大、做强。国内目前也有进行PMP方案设计的公司,如南京东集公司 (xseuicx),采用的是Intel嵌入式处理器PXA255方案。采用SigmaDesignS解决方案的公司主要集中在深圳,如深圳市深视通科技开发有限公司(xsstvisionx),该公司目前己经设计出了基于 SiglnaDesigns85n处理器的成熟的PMP解决方案,并制作了DEMO。而 TIDM320方案,目前主要依靠TI合作伙伴美国Ingenient公司推广。1.2 研究目的和意义当前,嵌入式系统正处在一个飞速发展和激烈竞争的时代,在未来的几年里,这种发展和竞争将达到白热化的程度。就嵌入式系统的技术和市场来说,国外的发展速度极快,技术日趋成熟,市场格局基本形成;国内发展也增长很快,市场潜力很大。在国外,嵌入式系统硬件,特别是嵌入式CPU的处理能力提升很快,由8位、16位升级到32位,掌上电脑、PDA等新产品层出不穷,产业规模日益壮大。在国内,嵌入式系统软件硬件主要靠国外引进,技术基础比较薄弱。目前,国内外相继推出了很多商业化嵌入式系统,都在努力的为自己争取嵌入式的市场份额。国内比较成熟的实时操作系统Dalta OS等都已经有了成熟的开发平台。同时,Linux操作系统由于其公开的源代码也在嵌入式的应用中占有一席之地。在国内,大规模的嵌入式系统目前还非常少,今后的重点将转向基于Internet的各种嵌入式操作系统和信息家电领域,包括Internet、网上证券交易、IP phone和VOB点播等。在这样的时代背景下,本文借助于嵌入式系统平台,完成一个基于QT的多媒体播放器,其中重点完成嵌入式操作系统的移植,包括bootloader,内核以及文件系统移植,通过配置内核对操作系统进行优化,并加入调度器对内核进行实时化改造,以便使开发板可以更灵活、更方便的开发各种各样的应用程序。1.3 论文主要内容及设计目标本文在研究嵌入式系统开发技术的基础上,提出了一套满足要求的低成本的嵌入式多媒体终端的解决方案。通过对系统的功能需求分析以及市场上主流处理器的功能和性能分析,选择了S3C2440实验平台和fedora 9.0、Linux分别作为系统的硬件和软件开发平台。此设计在Linux下,Qt/Embedded作为嵌入式系统图形用户界面GUI,通过虚拟机的fedora 9.0系统进行模拟,再在S3C2440实验板上烧写一个图形界面程序。本文的主要工作包括三方面的内容,首先,基于ARM平台开发相应的引导加载程序、构建嵌入式Linux操作系统;第二,针对ARM处理器和Linux操作系统特点进行音视频解码器的设计和研究;第三,对系统进行验证;论文的主要结构如下:第一在介绍嵌入式系统基础上,着重介绍Linux的特点和优势,以及Linux内核的基本概念;第二 系统软硬件平台的搭建。包括ARM处理器及硬件核心部件介绍、bootloader实现、交叉开发环境建立、Linux移植等;第三 运用QT技术在Linux下进行GUI设计,以一个图形界面为例,运用QT creator软件编程,并移植到S3C2440开发板上,实现设计目标。第四 Qmusic到开发板的移植。Qmusic为Linux下的简单媒体播放软件,其简单而实用的功能却是嵌入式系统所需要的。为此本章完成其到开发板的移植,来完善嵌入式系统对音频文件的支持;最后,对论文进行总结。2.嵌入式系统2.1 嵌入式处理器嵌入式处理器是嵌入式硬件平台的核心,负责系统事件的响应、任务的调度、外围器件的控制以及信号的处理。嵌入式处理器是由通用计算机中的CPU演变而来的。它的特征是32位以上,具有较高的性能。与通用计算机中的CPU不同的是,嵌入式处理器在实际嵌入式应用中只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。嵌入式处理器体积小、功耗低、成本低、可靠性高的优点使其在互联网、通信、消费类电子等多个领域得到了广泛的应用。目前主要的嵌入式处理器按体系结构不同可分为五大类:ARM、MIPS、POWERPC、x86和SH系列。ARM内核是由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微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用外围组件,可用于各种领域。它是应用于手持设备的低成本实现,提供了更高性价比。 2.2 嵌入式系统介绍嵌入式系统的定义如下:是一种以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。由嵌入式系统的定义可见,嵌入式系统具有以下几大特点:(1) 技术密集嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、不断创新的知识集成系统。(2) 专用性强嵌入式系统是与应用紧密结合的,具有很强的专用性。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也要根据系统硬件的变化不断进行修改。同时针对不同的任务,往往需要对系统进行较大的更改,程序的编译下载要和系统相结合。(3) 系统精简嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。因此目前嵌入式系统的开发一般是先建立一个相对通用的软硬件平台,然后在其基础上进行裁剪和精简,开发出适应各种需要的系统。一般而言,嵌入式系统的结构自底向上可分为3个部分,如图2-1所示嵌入式应用软件嵌入式操作系统嵌入式硬件平台图2-1 嵌入式系统的结构嵌入式硬件平台是整个嵌入式操作系统和应用软件运行的基础。不同的应用通常有不同的硬件平台,但是基本的结构是相同的,通常包括嵌入式处理器、存储器和输入输出(I/0)接口,如图2-2所示。嵌入式处理器存储器输入输出图2-2 嵌入式硬件平台结构3.嵌入式Linux操作系统及QT编译环境3.1 嵌入式Linux操作系统介绍1、 Linux起源、特性及应用领域Linux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的那年Torvals 25岁,后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势,并以每年100%的用户递增数量显示了Linux强大的力量。Linux的是一套免费的32位多人多工的操作系统,运行方式同UNIX系统很像,但Linux系统的稳定性、多工能力与网络功能已是许多商业操作系统无法比拟的,Linux还有一项最大的特色在于源代码完全公开,在符合GNU GPL(General Public License)的原则下,任何人皆可自由取得、散布、甚至修改源代码。2、 主流Linux操作系统发行版简介就Linux的本质来说,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等。Linux Kernel(内核)并不负责提供用户强大的应用程序,没有编译器、系统管理工具、网络工具、Office套件、多媒体、绘图软件等,这样的系统也就无法发挥其强大功能,用户也无法利用这个系统工作,因此有人便提出以Linux Kernel为核心再集成搭配各式各样的系统程序或应用工具程序组成一套完整的操作系统,经过如此组合的Linux套件即称为Linux发行版。国外封装的Linux以Red Hat(又称为“红帽Linux”)、OpenLinux、SuSE、TurboLinux等最为成功:Red Hat是个商业气息颇为浓厚的公司,不仅展现开创Linux商业软件的企图心,也在1999年在美国科技股为主的那斯达克让公司股票成功上市,Red Hat渐渐被拱为Linux商业界龙头。Red Hat是目前销售量最高、安装最简便、最适合初学者的Linux发行版,也是目前世界上最流行的Linux发行套件,它的市场营销、包装及服务做的相当不错,自行开发了RPM套件管理程序及X桌面环境Gnome的众多软件并将其源代码回馈给Open Source community。也正是因为Red Hat的方便性,安装程序将系统的构架或软件安装方式全部做了包装,用户学到的都是GUI界面(图形用户界面)上输入一些设置值的粗浅知识,至于软件安装了那些文件、安装到哪个文件目录、系统作了哪些设置,使用者则一无所知,一旦真正遇到系统程序发生问题时,要解决问题也就比较困难。Caldera将OpenLinux这套系统定位为容易使用与设置的发行版,以集成使用环境与最终用户办公环境,容易安装使用与简便管理为系统目标,有望成为最流行的公司团体台式Linux操作系统,适合初学者使用,全部安装需要1GB的硬盘空间。Caldera有自行研发的图形界面的安装程序向导,安装过程可以玩俄罗斯方块,提供完整的KDE桌面环境,附赠功能强大的商业软件,如StarOffice、图形界面的硬盘分割工具Partition Magic等。SuSE是欧洲最流行的Linux发行版,而且SuSE是软件国际化的先驱,让软件支持各国语系,贡献颇丰,SuSE也是用RPM作为软件安装管理程序,不过SuSE并不适合新手使用,提供了非常多的工具软件,全部安装需4.5GB的硬盘空间,安装过程也较为复杂。TurboLinux是日本制作的Linux发行版,其最大特色便是以日文版、中文简/繁体版、英文版三种形式发行,对软件国际化的推动经验丰富,安装的简易性与系统设置的难度与Red Hat差不多,且安装界面是汉化的,系统本身支持中文简体,在中国国内有广大的用户群。国内Linux发行版做的相对比较成功是红旗和中软两个版本,界面做得都非常的美观,安装也比较容易,新版本逐渐屏蔽了一些底层的操作,适合于新手使用。两个版本都是源于中国科学院软件研究所承担的国家863计划的Linux项目,但无论稳定性与兼容性与国外的版本相比都有一定的差距,操作界面与习惯与 Windows越来越像,提供一定技术支持和售后服务,适宜于国内做低价的操作系统解决方案。3.2 嵌入式Linux系统的优点现今,与嵌入式应用相结合的嵌入式操作系统有VxWorks、Linux、WinCE、COS-II等,他们各有其特点,VxWorks的特点是可靠性,实时性,可裁剪性,相比较而言,WINCE是多线性、多任务、全优先的操作系统,是专门针对资源有限而设计,COS-II则是一个基于优先级的实时操作系统,每一个任务必须具有不同的优先级,如果优先级相同,任务将无法区分。而嵌入式Linux更具有优势。归纳起来,嵌入式Linux至少具有以下优势:(1)开放的源码,丰富的软件资源Linux是自由的操作系统,它的开放源码使用户获得了最大的自由度。Linux上的软件资源十分丰富,每一种通用程序在Linux上都可以找到。(2)功能强大的内核,性能高效、稳定,多任务Linux的内核非常稳定,它的高效和稳定性已经在各个领域,尤其在网络服务器领域,得到了事实的验证。Linux内核小巧灵活,易于裁减,这使得它很适合嵌入式系统的应用。(3)支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等目前,Linux已经被移植到数十种硬件平台上,几乎支持所有流行的CPU。(4)完善的网络通讯、图形、文件管理机制Linux自产生之日起就与网络密不可分,网络是Linux的强项。另外,Linux还支持多种文件和图形系统。(5)支持大量的周边硬件设备Linux上的驱动已经非常丰富了,它们支持各种主流硬件设备和最新硬件技术。(6)大小、功能都可定制Linux秉承Unix的优秀设计思想,非常灵活,各部分的可定制性都很强。(7)良好的开发环境,不断发展的开发工具集Linux有着非常优秀的完整开发工具链,有十几种集成开发环境,其中很多是免费的,大大降低了开发费用。(8)软件开发者的广泛支持Linux的自由精神吸引了成千上万的程序员投入到Linux的开发和测试中来,这使得Linux在短时间内就成为一个功能强大的操作系统。(9)价格低廉有效降低产品成本,对成本敏感的嵌入式系统来说至关重要,Linux恰好具有这一特性。正是这些优势,嵌入式Linux系统的研发热潮正在蓬勃兴起,并且占据了很大的市场份额,除了一些传统的Linux公司(如RedHat、Monta Vista等)正在从事嵌入式Linux的开发和应用之外,IBM、Intel、Motorolar等著名企业也开始进行嵌入式Linux的研究。嵌入式图形用户界面(Graphics User Interface)系统是嵌入式实时操作系统的一个重要组成部分,随着嵌入式系统硬件设备可获得性的提高和价格的不断降低及嵌入式系统应用范围的不断扩大,嵌入式GUI系统的重要性越来越突出,特别是对高性能嵌入式人机图形交互界面的要求也越来越迫切,比如消费电子和工业实时控制系统。这些系统对GUI的基本要求包括:轻型、占用资源少高性能高可靠性可配置此外,适合嵌入式Linux的GUI还要求是开放源码的自由软件。时代的发展告诉我们,图形用户界面GUI的应用加速了计算机的普及广度,嵌入式技术的发展加速了计算机的普及深度,后PC时代呼唤着两者日益紧密的结合。所以对二者的研究有着深刻的意义。3.3 嵌入式Linux的内核内核(kernel)是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。Linux系统选择了单一的内核结构,单一内核就是操作系统中所有与系统相关功能都被封闭在内核中。单一内核与外部程序处在不同的内存地址空间中,并通过各种方式防止外部程序直接访问内核中的数据结构。这样的内核将代码执行效率作为自己操作系统的第一要务,但是这种单一内核的结构也使得Linux操作系统对时实性有一定的影响。内核是操作系统的灵魂,Linux内核主要包括内核抽象和对硬件资源的间接访问,负责管理文件、内存、启动系统并运行程序,负责从网络上接收和发送数据包等,简而言之,内核实际上是抽象的资源操作到具体硬件操作细节之间的接口。Linux内核主要由5个子系统组成,如图3-1所示:图3-1 Linux内核的抽象结构进程调度(SCHED):它控制着进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程,可运行进程实际上是仅等待CPU资源的进程。利用进程调度来实现进程间并行化、简单有序、互不干扰的特点。进程是一个动态的实体,从创建到消亡,是一个进程的整个声明周期,在这个周期中,进程要经过就绪态、阻塞态和运行态三个过程。进程调度用来实现进程状态之间的转换。用户进程由fork()系统调用实现,如果获得处理器正在运行的进程而申请不到某个资源,则调用sleep()进行休眠。进程执行系统调用的exit0或受到外部的杀死进程信号SIG_KILL时,进程状态变为ZOMBIE,释放所申请资源。内存管理(MM):它允许多个进程安全地共享主内存区域,Linux的内存管理支持虚拟内存,必要时,由操作系统负责在磁盘和内存之间交换程序块。内存管理从逻辑上可以分为硬件无关部分和硬件相关部分,硬件无关部分提供了进程的映射和虚拟内存的对换,硬件相关部分为内存管理硬件提供了虚拟接口。虚拟文件系统(VFS):它隐藏了各种不同硬件的具体细节,为所有设备提供统一的接口,VFS还支持多种不同的文件系统,VFS可以分为逻辑文件系统和设备驱动程序。逻辑文件系统是Linux所支持的文件系统,如ext2、ext3、fat、jffs2等,设备驱动程序是为每一种硬件控制器所编写的设备驱动程序模块,如串口、并口、SPI口等。网络接口(NET):主要提供对各种网络标准的存取和各种网络硬件的支持,网络接口可以分为网络协议和网络驱动程序两部分。网络协议部分负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备进行通信。进程间通信(IPC):它主要是支持进程间的各种通信机制,如管道、SYSV机制、网络Socket方式和全双工管道,其中SYSV机制还包括消息队列、信号量、共享内存。3.3 QT creator 介绍Qt creator是全新的跨平台集成开发环境,为QT开发人员的需求量身定制,由于捆绑了最新QT库二进制软件包和附加的开发工具,并作为QT SDK的一部分,Qt creator在单独的安装程序内提供了进行跨平台QT开发所需的全部工具。Qt creator主要是为了帮助新QT用户更快速入门并运行项目,还可提高有经验的QT开发人员的工作效率。QT的功能和优势:(1)使用强大的C+代码编辑器可快速编写代码:语言标识和代码完成功能;输入时进行静态代码校验以及提示样式;上下文相关的帮助;代码折叠;括号匹配和括号选择模式;高级编辑功能。(2)使用浏览器工具管理源代码:集成了领先的版本控制软件,包括Git、Perforce和Subversion;开放式文件,无需知晓确切的名称或位置;搜索类和文件;跨不同位置或文件沿用符号;在头文件和源文件,或在声明和定义之间切换。(3)为QT跨平台开发人员的需求而量身定制:集成了特定于QT的功能,如信号与槽;图示调试器,对QT类结构可一目了然;集成QT Designer可视化布局和格式构建器;只需单击一下就可生成和运行QT项目。(4)使用拖放功能快速设计用户界面;定制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,让您只须少数几行代码便可以更短的时间实现更高端的功能。特点:1. 用于Linux 的紧凑的视窗系统;2. 用于广泛的应用程序处理器的开发;3. 移植桌面代码至嵌入式平台,或通过重新编译,反之亦然;4. 编译移除不常使用的组件与功能;5. 利用系统资源并实现本地化性能;6. 开发嵌入式设备犹如开发桌面系统一样轻松简单。Qt 除了提供所有工具以及 API 与 类库 ,( 如 WebKit ) 外,Qt for Embedded Linux 还提供用于最优化嵌入式开发环境的主要组件。紧凑高效的视窗系统 (QWS):Qt 构建在标准的 API 上,应用于嵌入式 Linux 设备,并带有自己的紧凑视窗系统。基于 Qt 的应用程序直接写入Linux 帧缓冲,解除了您对 X11 视窗系统的需求。具有减少内存消耗,占位更小,可利用硬件加速图形的优势,可编译移除不常使用的组件与功能等特点。虚拟帧缓冲 (QVFb):Qt for Embedded Linux 提供一个虚拟帧缓冲器,可以采用点对点逐像素匹配物理设备显示。具有真实的测试构架,在桌面系统上嵌入式测试,模拟物理设备显示的宽度、高度与色深等特点。进程间通讯 (IPC):IPC (进程间通讯)可以创建丰富的多应用程序用户体验。定义进程间通讯的两个主要概念即:信道与消息。可以进程监听并向信道发送消息,任何时候只要监听到一个进程便可创建信道。扩展的字体格式:Qt 支持嵌入式 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+ 编译器和帧缓冲器驱动 Linux 的处理器。支持 ARM®, x86®, MIPS®, PowerPC® 。2.Mac平台Qt 包括一套集成的开发工具,可加快在 Mac 平台上的开发。在编写 Qt 时,并不需要去设想底层处理器的数字表示法、字节序或架构。要在 Apple 平台上支持 Intel 硬件,Qt 客户只需重新编辑其应用程序即可。3.Windows平台使用 Qt,只需一次性构建应用程序,无须重新编写源代码,便可跨多个 Windows 操作系统的版本进行部署。Qt 应用程序支持 Windows Vista、Server 2003、XP、NT4、Me/98 和 Windows CE。4.Linux/X11平台Qt 包括一套集成的开发工具,可加快在 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的多媒体播放器系统的设计与实现.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开