-
师学院
本科生毕业论文
基于嵌入式操作系统的MP3播放器设计
院 系物理与电气信息工程学院
研究 方向 嵌入式开发
2013年5月20 日
- -总结资料-
-
摘 要
时下随着科技的不断发展和创新嵌入式领域也得到了飞速的进步而消费者日益增长的消费需求也刺激着嵌入式技术的不断前进。消费者的主要对象为电子与多媒体结合的产品多媒体部件逐渐成为嵌入式产品中重要组成部分。所以嵌入式技术与多媒体产品的相互融合显得尤为重要并结方便消费者操作的图形界面将越来越广泛的应用到个人消费类电子产品的设计开发中。基于以上背景本文研究并实现了基于嵌入式操作系统的MP3播放器。本次设计开发了一种应用于Linux系统的音乐播放器。该播放器基于QT技术和Linux操作系统,利用 GNU开发工具进行软件开发,使用C99标准的 C语言编写.可以运行在ARM 920T硬件平台。介绍了M P 3播放器的软硬件开发平台。细致分析了软件开发平台的建立展示出了MP3播放器各功能实现的详细设计开发步骤所计的MP3播放器能够支持优盘、 SD卡等外接移动存储设备并支持完善的调节音量、上一曲、下一曲、快进快退、播放暂停、显示播放进度等条等功能。简述了MP3播放器的开发过程、 ARM的硬件组成 Linux操作系统的安装和使用程序移植的的方法进而成功实现了该播放器的开发和最后的在硬件环境下的使用。
关键词 c++软件语言 M P 3播放器 Linu x操作系统 ARM920T
- -总结资料-
-
Abstract
Nowadayswith the continuous development of science and technology and innovation ,the embedded field has also been a rapid progress , the increasing consumer spending alsostimulatesdemand forembedded technologycontinues to advance .The mainobject of consumersfor thecombinationof electronic and multimedia products,multimediacomponentshas graduallybecome an important part of embedded products . Therefore , embedded technology andmultimedia products merging is particularly important, and easy to knot the consumer - to-usegraphical interface willbe more widely used in personalconsumerelectronics product design anddevelopment . Based on the above background , this paper embedded operating system- basedMP3 player .Developed in this paper applied to the Linux system music player .The player basedon the QT and Linux operating systems ,GNU development tools for software development , usingthe C99 standard C language and can run on ARM920T hardware platform.MP3 player hardwareand software development platform . Detai led analysis of the establishment of a softwaredevelopment platform , demonstrating the MP3 player to achieve the detai led designdevelopment steps , the MP3 player can support USB flash drives ,SD card and an externalremovable storage devices and supports perfect to adjust the volume on the track , next track ,fast forward and rewind , playback is paused , playback progress bar and other functions .Describes MP3 application , embedded operating system and driver transplant , and thensuccessfully achieved the player to the development board transplantation .
Keywords c++lauguage MP3 player Linux system ARM920T
- -总结资料-
-
目录
第一章绪 论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1 . 1课题背景及意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1 .2嵌入式系统现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1 .2.1处理器的发展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1 .2.2处理器的种类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1 .2.3 Linux操作系统的发展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1 .2.4 Linux操作系统的特点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
第二章开发环境分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2. 1开发板介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.2 LINUX系统的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3交叉编译器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
第三章方案设计分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3. 1设计目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.2方案设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.3可行性分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
第四章系统软件开发. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4. 1功能实现流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.2播放器软件实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.2.1播放与暂停功能的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.2.2上下曲功能的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1
4.2.3音量调节功能的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
4.3交叉编译器的搭建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4.4系统调试运行结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
第五章结 论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
辞. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
附录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
- -总结资料-
-
第一章绪 论
1 .1课题背景及意义
随着科技的不断进步和发展各类科技产品走入到普通消费者手中而这些科技产品中电子产品占据着相当大的比重各种各样电子产品充实着普通消费者的日常生活。 目前随着科技的发展多功能的ARM处理器取代了功能相对单一的单片机处理器成为市场上新的主流处理器 ARM的计算能力不断增强模块功能不断完善应用适用围也不断地扩大着所以了解并掌握基于ARM框架下的LINUX系统的开发显得更为重要。而且在设计开发过程中充分利用Li nux操作系代码开源、统稳定性高、可裁剪可移植性、和兼容性好等优点去设计基于Li nux操作系统的音乐播放器的开发 同时采用QT界面技术与GUI图形用户界面的MP3音乐播放器完美的实现MP3音乐播放器的相关功能。
嵌入式作为当前的热门的发展行业嵌入式技术广泛的引用于工业控制、设备通信、医疗仪器、智能家具等领域而且广泛的应用于手机、 PDA等消费类电子产品中。作为现在主流的音乐存贮格式MP3作为常用的音乐存贮格式数据压缩失真率低再次播放效果好。所以MP3音乐播放器在这些个人消费电子设备中实现显得十分有竞争力。
1 .2嵌入式系统现状
随着科技的发展智能化便携化快速化的发展嵌入式系统技术也将获得跟好的发展空间。美国著名未来学家尼洛庞帝曾建在访问我国时预言 3至4年后嵌入式智能电脑将是笔记本和因特网之后最伟大的发明。我国著名嵌入式系统专家绪榜院士也曾在公开场合语言过嵌入式的发展前景和未来并在其98年1 1月《计算机的发展》一文中对未来20年以嵌入式系统和芯片为基本的计算机发展进行了科学的描述和展望。
1 .2.1处理器的发展
ARM代表高级RISC机它是微处理器行业的知名企业始建于20世纪90年代初的一个谷仓似乎是稍后SA的情况Li n ux大约在同一时间。该公司设计了大量高性能低成本低能量的RI RISC 处理器。 ARM的特点是只设计芯片而不是生产。它将许多世界领先的半导体软件和OEM厂商如飞思卡尔英特尔三星仪器等的技术许可并提供服务。背后隐藏着许多著名的企业 它不为多数- -总结资料-
-
人知晓但它是仍然有着很高的利润依靠这些大公司负责在这方面它很像是高通通讯领域。 ARM架构大大提高从最初的发展到现在仍然是改善和发展。
随着需求和技术的发展 ARM本身也是快速增长。 ARM已经由最初的ARM1一步步走的Cortex-A15 。 ARM核不断进步也导致了经济的快速发展。 [1]
1 .2.2处理器的种类
ARM公司已经开发了几个系列的ARM处理器核。到目前为止该系列是ARM1 1 。ARM6和早期系列一直在市场上是很难见到的ARM7系列和更高级别的处理器没有进入市场的广泛认可。最常用的ARM7系列和ARM9系列和ARM9E系列 ARM10系列 SecurCore系列 Inte l的StrongARM的 XSCALE系列。
ARM7系列包括ARM7TDN I 的ARM7TDN I -S 高速缓存处理器ARM720T宏蜂窝和扩大ARM7EJ-S Iazelle的。本系列产品广泛应用于多媒体和嵌入式设备包括上网的设备 网络调制解调器和移动 PDA和其它无线设备。
ARM9系列主要包括ARM9TDMI ARM920T和ARM940T缓存处理器宏单元。该系列产品主要用于发动机管理系统仪器仪表安防系统机顶盒高端打印机掌上电脑 网络计算机和智能手机与MP3音频和MPEG4视频多媒体格式。
ARM9E系列:为综合处理器,包括ARM926EJ-S、带有高速缓存处理宏单元的ARM966E-S/ARM946E-S。该系列强化了数字信号处理功能,可应用于需要DSP与微控制器结合使用的情况,将Thumb技术和DSP都扩展到ARM指令集中,并具有EmbeddedICE-RT逻辑,更好地适应了实时系统的开发需要。
ARM10系列:包括ARM1020E和ARM1020E微处理器核心。其核心在于使用向量浮点单元VFP VFP10浮点高性能的解决方案从而大大提升了处理器的整数和浮点性能打下了坚实的基础用户界面 2D和3D图形引擎应用程序如视频游戏机和高性能打印机。
SecurCore系列:包括SC100 SC1 10 SC200和SC210处理器核心。该系列产品的重点新兴的安全市场上的一个新的安全智能卡和其他安全IC开发提供了一个独特的32位系统的设计并有特定的防伪设计的处理器从而有助于防止盗版的硬件和软件。
StrongARM系列:StrongARM处理器将英特尔处理器技术和ARM架构相结合为一体致力于为手提式通信和消费电子类设备提供理想的解决方案。
Xscale系列:提供全性能、高性价比和低功耗的解决方案支持16位Thumb指令和DSP指令。 [2]
- -总结资料-
-
1 .2.3 Linux操作系统的发展
实际上 Li n ux操作系统就是一套免费供大家自由使用的开源系统。大家经常所说的Linux就是指Li nus Torvalds所撰写的Linux操作系统的核。
当时的Linus就是芬兰赫尔辛基大学的一名普通的学生他主要的学习方向里有一门课是操作系统这门课程的主要容是研究程序的执行和设计程序。而且这门课程还专门提供了一种称为Minix的初期UN IX系统。Mi nix是一款仅为教学而临时设计的操作系统功能十分有限。因此和Mi nix的众多使用者一样 Li nus也希望能给它添加一些新的功能。
在之后的时间里莱纳斯根据实际需要编制的磁盘驱动器下载的文件访问新闻组写了文件系统以便能够阅读Mi nix文件系统中的文件。以这种方式 “当你有一个任务切换时文件系统和设备驱动程序这是UNIX需要有的至少其基本”。
0.0.1版本的Li n ux的诞生。
莱纳斯决定从一开始就被添加到Linux核开发工作通过互联网自由传播的Li nux的源代码是在互联网上公布让许许多多多爱好者和程序员。这个想法与FS F
自由软件基金会资助发起的GNU GNU不是UNIX 与自由软件的精神不谋而合。 [3]
1 .2.4 Linux操作系统的特点
Li nux系统在现实应用中有很多突出的秀点尤其在技术特点上。在操作系统的发展过程中 它一直拥有者技术上的要到性优势。 Li n ux操作系统的特点和优势有很多方面简单的说, Li nux具有一下特点
(1 )多用户
多用户系统中的资源可以由不同的用户使用各自具有自己的资源为每个用户使用该特定的权限彼此独立。 Li nux和Unix都具有多用户的特性。
(2)开放性
开放性是指系统遵循世界标准规,特别是遵循开放系统互连(OSI)国际标准。
(3)良好的用户界面
Li nux为用户提供了两个接口:用户界面和系统调用。简明的Li n ux用户界面是基于文本的命令行界面外观,即shell,它既可以联机使用,又可存在文件上脱机使用。 Li n ux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、高度互动的良好的图形化界面。
- -总结资料-
-
(4)设备独立性
具有独立的操作系统的设备可以简化工作作为一个单独的文件中添加一个新的设备通过一个外围设备。当您需要添加新的设备在核中的系统管理员增加必要的连接。这种连接以确保每次调用设备提供服务以同样的方式来对付他们的核。当一个新的和更好的外设被开发并交付给用户允许该操作将这些设备连接到核可以不受限制地立即访问它们。
(5)多任务
多任务是指计算机同时执行多个程序,而且各个程序的运行互相独立。
(6)良好的可移植性
Li nux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。
(7)可靠的系统安全
Li nux已经采取了一系列的安全和技术措施包括访问控制读 写保护子系统审计跟踪核心授权在多用户环境的网络用户提供必要的安全。
综上所述, Li nux系统正在走向成熟,不仅与能与Wi ndows分庭抗礼,而且还从其前辈手中夺取几分天下。 Li nux在嵌入式产品开发中的应用也已经十分广泛。为了进一步促进在这方面的应用,在Linux 2.6中,引入了很多非常有利于开发嵌入式应用的功能,使Li nux的发展前景更为光明。 [4]
- -总结资料-
第二章开发环境分析
2.1开发板介绍
如图2-1为开发板图片
以下介绍开发板模块
(1 )电源接口
电源连接器的输入电压不要超过7V T Q2440配臵的电源适配器是5 V的在不知道适配器输出电压时请向适配器的供应商确认输出电压或自行用电压表测试输出电压以防止因为输入电压过大使开发板出现烧毁的情况。
(2)Nor/Nand选择开关
当从Nor Flash启动时请在开发板开机前将开关拨到远离绿色接口的地方。
当从Nand Flash启动时请在开发板开机前将开关拨到靠近绿色接口的地方。
(3)音频输入输出接口
TQ2440提供的音频接口完全按照标准接口提供绿色为音频输出接口红色为音频输入接口。
(4)USB接口(USB Host和USB Slave)
- -总结资料-
hostyun新上了香港cloudie机房的香港原生IP的VPS,写的是默认接入200Mbps带宽(共享),基于KVM虚拟,纯SSD RAID10,三网直连,混合超售的CN2网络,商家对VPS的I/O有大致100MB/S的限制。由于是原生香港IP,所以这个VPS还是有一定的看头的,这里给大家弄个测评,数据仅供参考!9折优惠码:hostyun,循环优惠内存CPUSSD流量带宽价格购买1G1核10G3...
TMThosting发布了今年黑色星期五的促销活动,即日起到12月6日,VPS主机最低55折起,独立服务器9折起,开设在西雅图机房。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget HDD系列架构CPU内存硬盘流量系统价格单核51...
云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...