嵌入式MP3播放器.doc_第1页
嵌入式MP3播放器.doc_第2页
嵌入式MP3播放器.doc_第3页
嵌入式MP3播放器.doc_第4页
嵌入式MP3播放器.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统课程设计嵌入式MP3播放器一、 系统要求l JXARM9-2410A教学实验箱l PC机(Pentium(R) Dual-Core CPU E6700 3.20GHz 1.60GHz、2GB RAM)l RedHat Linux OS with arm-linux-gxx二、 设计要求能够使开发板通过音频输出口输出当今比较流行的音频格式解码后的信号(MP3,WMA,ACC等)。在播放控制方面能够实现最基本的流程控制(播放、暂停、快进、快退)并能够实现播放列表功能。三、 系统软硬件平台本次课程设计使用的硬件平台是创维特公司生产的JXARM9-2410嵌入式开发板,核心部分为一块载有Sansumg s3c2410的ARM处理器的核心板(最小系统),该最小系统还包含有32MB的FLASH和64MB的RAM。只有核心板还不能完成设计任务,因为设计题目中需要使用声音设备,所以还必须具备音频处理模块。在调试过程中需要在PC机上运行DNW超级终端与开发系统通信,所以还用到了一个串口,并且,内核文件以及移植的程序需要通过 TFTP下载到开发系统上,因此还需要一个以太网口模块。开发系统外设板逻辑电路图如下(来自创维特网站):图1 外设板逻辑电路图四、 嵌入式Linux的编译与下载下图所示为本课设所采用的实验环境以及开发流程。在主机的 RedHat Linux 操作系统下安装 Linux 发行包以及交叉编译器 arm-linux-gcc。然后对 Linux 进行配置(make menuconfig)并选择适合本课设系统的相关配置,配置完成后进行编译生成 Linux 映像文件 zImage。然后通过 u-boot 的 tftp 命令将该文件下载到目标板并执行。图 2 Linux内核开发流程有关于Linux系统的安装和交叉编译器的安装过程不是本课设关心的主要问题,在此就不详细介绍了。下面将详细介绍Linux内核的编译过程以及将内核下载至开发板上并启动的过程。 编译内核$cd /home/cvtech/arm9/linux$make menuconfig加载开发系统的预配置文件config-jx2410加载完配置文件之后对内核的裁剪工作也就完成了,之后编译的内核将包含外设板必要的驱动模块,当然也包含本课设所需的音频驱动。下面就是编译内核:$make clean$make dep$make$make zImage在执行完make zImage命令之后将会在/home/cvtech/arm9/linux/arch/arm/boot目录下生成zImage文件。这就是内核镜像文件,将其复制到/tftpboot目录下以便通过tftp服务下载到目标机上。$cp zImage /tftpboot Linux镜像的下载与运行将 JXARM9-2410 的串口 0 与 PC 的串口 0 连接,将 JXARM9-2410 的网卡和 PC 的网卡使用直连网线进行连接,或者将 JXARM9-2410 和 PC 机使用普通网线接入同一局域网。在windows系统下开启DNW超级终端并输入以下命令:tftp 30800000 ramdisk.gztftp 30008000 zImagego 30008000或者直接输入run loadlinux如果tftp发生错误则可能是由以下几种问题引起的:1、 网络没有正确连接:宿主机和目标机的IP地址不再同一子网内2、 所传送的文件在宿主机的/tftpboot文件夹内不存在五、 嵌入式播放器MPlayer移植MPlayer是Linux上的电影播放器,它能使用众多的本地的,XAnim,RealPlayer,和 Win32 DLL编解码器,播放大多数MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,Nuppe1Video,yuv4mpeg,FILM,RoQ文件。你还能观看VideoCD,SVCD,DVD,3ivx,Rea1Media,和DivX格式的电影。Mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11,Xv,DGA,OpenGL,SVGAlib,fbdev,AAlib,DirectFB上工作,而且也能使用GGI和SDL(由此可以使用他们支持的各种驱动模式)和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)!他们大多数支持软件或者硬件缩放,因此你能在全屏下观赏电影。 MPlayer还支持通过硬件MPEG解码卡显示。可以使用European/IS08859-1,2(匈牙利语,英语,捷克语等等),西里尔语,韩语的字体的清晰放大并且反锯齿的字幕(支持10种格式)。 移植前准备MPlayer源码:MPlayer-1.0pre7try2.tar.bz2交叉编译器:arm-linux-gcc-3.3.2.tarlibmad源码:libmad-0.15.0b.tar.gz 交叉编译器安装将arm-linux-gcc-3.3.2.tar解压至/usr下,添加环境变量以便在其他目录下能够使用arm-linux-gxx命令。export PATH=$PATH:/usr/local/arm/3.3.2/bin需要注意的是上述命令只能零时添加环境变量,关机后将失效。 编译libmad库通过查阅资料得知,MPlayer的mp3lib解码库使用的是浮点运算,解码过程中会使处理器过载,播放效果大幅下降。通过实验我们也验证了使用mp3lib解码几乎听不到连续的声音。为了解决这个问题,我们采用libmad解码库,该库采用定点运算,速度比浮点运算快。首先进入libmad目录,首先通过configure命令生成Makefile。./configure -enable-fpm=arm -host=arm-linux -disable-shared -disable-debugging -prefix=/usr/local/arm/3.3.2/lib CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc生产编译所需的Makefile之后可以通过如下命令编译libmadmakemake install命令执行完后将在/usr/local/arm/3.3.2/lib目录下生产libmad的lib和include文件夹。 编译MPlayer./configure -cc=/usr/local/arm/3.3.2/bin/arm-linux-gcc-target=arm-linux -enable-static -disable-win32 -disable-dvdread -enable-fbdev -disable-mencoder -disable-live -enable-mad -enable-libavcodec -disable-tv -with-extralibdir=/usr/local/arm/3.3.2/lib/lib -with-extraincdir=/usr/local/arm/3.3.2/lib/include -disable-sdl -disable-gui -disable-mpdvdkit -enable-linux-devfsconfigure所附带的参数可以通过./configure help查看其含义。之后make编译即可,编译完成后将在当前目录下生成mplayer的可执行文件,不过该文件只能在ARM平台上运行。 调试将编译好的mplayer复制到/tftpboot目录下,之后将用于测试的MP3歌曲也复制到/tftpboot目录下。在DNW超级终端中输入如下命令进行NFS的挂载:mount 80:/tftpboot /mnt/nfs进入挂载目录:cd /mnt/nfsls运行程序:./mplayer Style.mp3但是却没有成功,看到的只是nfs: server not responding, still trying 查阅资料得知,由于宿主机和目标机网卡的速度差异导致数据包丢失,所以出现了这样的问题,只要在mount后加上参数即可解决。umount /mnt/nfsmount t nfs o intr,nolock,rsize=1024,wsize=1024 80:/tftpboot /mnt/nfs./mplayer Style.mp3现在能够听到声音了,但是几乎就是噪声,因为mp3lib解码的问题。下面将使用libmad进行解码:./mplayer ac mad Style.mp3此时能够正常听到歌曲了,但是比PC播放的速度要慢,这个问题还有待解决。六、 播放流程控制MPlayer是一个专业的播放器,已经实现了所有的播放流程控制的功能。 (左右光标键)-后退/ 快进 10 秒。up 和 down(上下光标键)-快进/ 后退 1 分。pgup 和 pgdown(翻页键)-快进/ 后退 10 分。 和 -减少/增加当前回放速度 10%。 和 -减半/加倍当前回放速度。backspace(退格键)-重置正常回放速度.-在播放列表中后退/ 快进。ENTER(回车键)-在播放列表中快进, 甚至越过末尾。HOME 和 END-下一个/ 前一个父列表中的播放树项。INS 和 DEL (仅用于 ASX 播放列表)-下一个/ 前一个供选择的源。p / SPACE-暂停 (再按取消暂停)。. -步进。按一下暂停回放, 每按一下就播放一帧(直到按其它键取消步进)。q / ESC-停止播放和退出。+ 和 - -调整音频延迟增加/减少 0.1 秒。/ 和 * -降低/ 提高音量。9 和 0 -降低/ 提高音量。m -静音。下面介绍一下播放列表的实现:ls musicmusic.lst./mplayer plist music.lst七、 课程设计总结本次课程设计是对课程理论学习的实践检验,通过课程设计我们学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论