好文档 - 专业文书写作范文服务资料分享网站

音乐播放器的设计与实现教学文案

天下 分享 时间: 加入收藏 我要投稿 点赞

学习-----好资料

Mp3playLinuxOsDivers HardwareApplicationFile Syetem Protocal Stack Audio, USB, HDD, LCD Physical Layer 图4.1 MP3播放器的软件体系结构图

从软件角度看,嵌入式Linux操作系统分为引导加载程序、内核、文件系统及用户应用程序4部分。其一用于完成初始化RAM,初始化串口、设置Linux启动参数、调用Linux内核映像等功能;其二为特定于具体硬件的定制内核以及控制内核引导系统的参数;其三为含根目录文件的系统建立Flash存储器设备的文件系统;其四为特定于用户的应用程序,即为播放程序。

软件的核心是Linux操作系统。首先需要设备驱动程序,包括USB、硬盘控制、音频控制、LCD等等。然后是文件系统。该设计采用的是通用的FAT32文件系统,在对Windows平台有很好的兼容性。

硬件层包括了MP3播放器所需的物理设备:USB接口、音频接口芯片AC97、3.5英寸的TFT液晶屏等;设备驱动层包括上述各个设备的驱动程序的编写;操作系统层我们移植了Linux2.6的操作系统,由操作系统来统一管理各个硬件设备;最上层是应用层,我们使用QT设计图形用户界面,通过移植开源的Madplay解码器实现对MP3文件的解码,播放、音量增减的控制。此MP3播放器软件系统包括驱动程序、操作系统及MP3播放器应用程序3部分。

4.2 操作系统的实现

在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。BootLoader的任务是初始化芯片和主板,通过修改相应的配置文件和驱动程序就可以实现移植过程中需要创建的开发板文件。

4.2.1 嵌入式开发环境的搭建

在此次设计中,硬件平台是基于XSBASE270试验箱的。 嵌入式开发环境的搭建主要包括以下几个方面,如下: 1、虚拟机安装

安装虚拟机,采用VMware。 2、Linux系统安装

在VMware上安装REDHAT 企业版linux操作系统。安装完毕之后,安装 VMwareTools工具。 3、minicom配置

在启动红帽之前,要设置添加一个串口,设置成功之后,打开linux操作系统,在终端执行minicom -s命令 ,会出现以下界面:

更多精品文档

学习-----好资料

选择serial port setup,按照以下设置:设置串口,设置波特率为115200,硬件流控制设为无。具体如下:

选择Save setup as dfl 选择Exit即可启动minicom 4、Tftp配置

Tftp是类似于ftp的一个传输协议。

它使用IP和UDP作为子协议。在目标板上,该协议被会在Bootloader下被用来下载kernel和文件系统的镜像,传输媒质是以太网,以较高的速度。 安装tftp rpm包的步骤如下:

①安装tftp-server-0.17-9.i386软件包

在终端中输入命令:rpm -ivh tftp-server-0.17-9.i386.rpm ②修改/etc/xinetd.d/tftp文件,内容如下: service tftp {

socket_type = dgram protocol= udp wait= yes user= root

server= /usr/sbin/in.tftpd server_args= -s /tftpboot

server_args += -s /odm/tftpboot disable=no }

5、在根目录下建立/tftpboot文件夹,将要下载的文件放在该目录中即可。 6、bootp配置

引导协议(BOOTP)是一种基于UDP/IP的协议。这种协议允许正在启动的

更多精品文档

学习-----好资料

主机动态配置而无需用户监督。BOOTP主要用于客户机从服务器获得自己的IP地址,服务器的IP地址以及启动映象文件名。

在一个评估板系统中,这些协议通常是和tftp一起使用用来将内核和文件系统从PC上下载到目标板中。Bootp主要用来获得目标板和主机的ip信息,以便可以使用Tftp协议来传输文件。 ①安装bootp-2.4.3-7.i386软件包

在终端中输入命令:rpm -ivh bootp-2.4.3-7.i386.rpm ②在/etc/xinetd.d/目录下建立bootp文件,文件内容如下: service bootps {

disable=no

socket_type=dgram protocol=udp wait=yes user=root

server=/usr/sbin/bootpd }

③在/etc/目录下建立bootptab文件,内容如下 test:\\ ht= 1:\\

ha= 0x123456789a00:\\ #ha=0x123456789999:\\ ip=192.168.0.50:\\ sm=255.255.255.0 ④重启xinitd

在终端中输入:/etc/rc.d/init.d/xinetd restart 7、nfs配置

8、交编译环境配置

交叉编译环境的配置总共分为四个部分:配置交叉编译环境,然后将交叉编译工具安装在/opt目录下,试交叉编译环境,测试的时候用file命令查看文件。

4.2.2 Bootloader烧写

Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。

下面介绍Boot Loader的烧写过程,以Linux-2.6.22.10内核为例,我们采用的烧写工具是jflashmm。具体步骤如下:

将bootloader的映象文件boot拷贝Jflash-XSBase270(jflashmm所在目录),并利用用Jflash-XSBase270目录中jflashmm程序,将 bootloader映象文件boot烧写到开发板上。在 Jflash_Xsbase270文件夹下打开一个终端,同时给板子上电,输

更多精品文档

学习-----好资料

入命令:./Jflashmm boot,即可完成boot的烧写。指令为: [root@localhost pxa270] #cd Jflash_Xsbase270

[root@localhost Jflash-XSBase270] # ./jflashmm boot

4.2.3内核、文件系统的烧写

Bootloader烧写成功后,接下来就进行内核和文件系统的烧写,具体步骤如下: (1) 开发板上电,进入下载模式

打开minicom,已经配置好了,拔掉JTAG下载线。 按空格键,进入下载模式

按空格键,进入下载模式

按菜单0, 51Board>set

myipaddr : 192.168.0.50 destipaddr : 192.168.0.100 myhaddr : 00:02:88:8E:CA:B1 autoboot : load kernel; load ramdisk; boot

更多精品文档

学习-----好资料

kernelname : zImage fsname : rootfs.img delay : 2

按键盘上的0,进入命令行模式:[0]Comanndline mode 51board>set //查看系统状态

将系统属性修改成以上状态

按键盘上的1,进入命令行模式:[1] View current configuration,回车。然后按2,3,4……等烧写成功后,可看到显示屏亮起来,显示当前的操作系统。

4.4驱动程序的实现

在嵌入式Linux系统中操作设备的方法,是将设备看作一个文件来访问。用户只需注意对文件的操作。在嵌入式Linux系统中一个设备表示为主设备和从设备。Linux系统的设备分为字符设备、块设备和网络设备3种。

字符设备是指存取时没有缓存的设备,块设备的读写都有缓存来支持,并且块设备必须能够随机存取,字符设备则没有这个要求。典型的字符设备包括鼠标、键盘、串行口等;块设备主要包括硬盘软盘设备、CDROM等,这些设备要想在操作系统下正常运行,必须配置相应的驱动程序。在本系统中,Flash及USB属于块设备,AUDIO及LCD属于字符设备。下面是读写Flash存储器的驱动程序的主要代码:

main()

{char buf[4096],buf2[4096]; int fd1,fd2;

if( ((fd1=open(“/dev/dsk5”,O_RDONLY))= = 1)|| (fd1=open(“/dev/dsk5”,O_RDONLY))= = 1)

更多精品文档

音乐播放器的设计与实现教学文案

学习-----好资料Mp3playLinuxOsDiversHardwareApplicationFileSyetemProtocalStackAudio,USB,HDD,LCDPhysicalLayer图4.1MP3播放器的软件体系结构图从软件角度看,嵌入式Linux操作系统分为引导加载程序、内核、文件系
推荐度:
点击下载文档文档为doc格式
2zmcn5utym2p7v43zg0p6rgfk15t3500h8f
领取福利

微信扫码领取福利

微信扫码分享