FS_S5PC100平台之madplay移植文档.doc_第1页
FS_S5PC100平台之madplay移植文档.doc_第2页
FS_S5PC100平台之madplay移植文档.doc_第3页
FS_S5PC100平台之madplay移植文档.doc_第4页
FS_S5PC100平台之madplay移植文档.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

FS_S5PC100之madplay移植:FS_S5PC100平台内核2.6.35交叉编译器 arm-none-linux-gnueabi-gcc-4.5.11.FS_S5PC100平台上WM9714 ALSA 移植:这个驱动在内核中支持,我们只需要进行简单的配置就行了,配置如下:修改 sound/soc/s3c24xx/Kconfig,使其支持FS_S5PC100平台2.修改平台代码(1)修改sound/soc/s3c24xx/s3c-ac97.c添加如下内容:static int s3c_ac97_hifi_prepare(struct snd_pcm_substream *substream,struct snd_soc_dai *dai) printk(%s %s: %dn,_FILE_, _func_, _LINE_);s3c_ac97_write(0,0x26,0x0);s3c_ac97_write(0, 0x0c, 0x0808);s3c_ac97_write(0,0x3c, 0xf803);s3c_ac97_write(0,0x3e,0xb990);if (substream-stream = SNDRV_PCM_STREAM_PLAYBACK) s3c_ac97_write(0,0x02, 0x0404);s3c_ac97_write(0, 0x04, 0x0606); s3c_ac97_write(0,0x1c, 0x12aa);elses3c_ac97_write(0, 0x12, 0x0f0f);#ifdef CONFIG_SOUND_WM9713_INPUT_STREAM_MICs3c_ac97_write(0,0x5c,0x2);s3c_ac97_write(0,0x10,0x68);s3c_ac97_write(0,0x14,0xfe00);#else /* Input Stream is LINE-IN */s3c_ac97_write(0, 0x14, 0xd612);#endifreturn 0;(2)修改static struct snd_soc_dai_ops s3c_ac97_dai_ops = .hw_params= s3c_ac97_hw_params,.trigger= s3c_ac97_trigger,;为:static struct snd_soc_dai_ops s3c_ac97_dai_ops = .hw_params= s3c_ac97_hw_params,.trigger= s3c_ac97_trigger,.prepare= s3c_ac97_hifi_prepare,;(3)修改arch/arm/plat-samsung/s3c-pl330.c添加头文件:w(4)在1037行添加struct clk *clk;在1079行添加clk = clk_get(&pdev-dev, pdma);if (IS_ERR(clk) printk(cannot get adc clock sourcen);clk_enable(clk);(5)修改arch/arm/mach-s5pc100/dma.c修改 static struct platform_device s5pc100_device_pdma0 中.id= 1,为:.id= 0, 修改static struct platform_device s5pc100_device_pdma1 中.id= 2,为.id= 1,(6)配置内核$ make menuconfigDevice Drivers - Sound card support - Advanced Linux Sound Architecture - OSS Mixer API OSS PCM (digital audio) API * OSS PCM (digital audio) API - Include plugin system * Support old ALSA API* Verbose procfs contents* Verbose printk ALSA for SoC audio support - SoC Audio for the Samsung S3CXXXX chips SoC AC97 Audio support for SMDK with WM9713 Build all ASoC CODEC drivers重新编译内核$ make zImage$ cp arch/arm/boot/zImage /tftpboot测试系统启动以后会在dev目录下产生dsp设备节点文件系统没有支持udev或mdev的话就必须进行下面步骤建立块专用或字符专用文件mknod /dev/dsp c 14 3mknod /dev/mixer c 14 0注:/dev/dsp 数字信号处理(DSP):DSP是指声卡中专门处理效果的芯片,称为效果器,对提高声卡性能很有用/dev/mixer 混音器混音器是一台控制音频信号的提升,并将音频信号导向所指目的地的设备cat test.wav/dev/dsp如果驱动移植成功,这时可以听到杂音复制一个madplay音频播放程序,可以用来播放mp361、 播放器的移植 1. 移植madplay前的准备。 madplay的移植需要以下的几个包:madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz。其中前面的三个包可以在/project/showfiles.php?group_id=12349下载,后一个包可以在/zlib/zlib-1.1.4.tar.gz中找到。 为了编译这个播放器,还需要一个交叉编译器,gcc version 4.3.2 (crosstool-NG-1.8.1-none) 2. 开始编译 2.1. 用交叉编译工具编译zlib,并且把库生成到交叉编译环境的库目录下,我把它放到/home/toolchain/arm-none-linux-gnueabi目录 下。-prefix=/home/toolchain/arm-none-linux-gnueabi。 再修改(不能跟上面的步骤调转)makefile文件: CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar rcs RANLIB=arm-none-linux-gnueabi-ranlib make ,make install ,编译好之后就可以在上面prefix指定的目录下的lib目录下找到libz.a这个库。 2.2. 编译libid3tag ./configure CC=arm-none-linux-gnueabi-gcc -prefix=/home/toolchain/arm-none-linux-gnueabi -host=arm-none-linux-gnueabi -disable-debugging -disable-shared -enable-static CPPFLAGS=-I/home/toolchain/arm-none-linux-gnueabi/include LDFLAGS=-L/home/toolchain/arm-none-linux-gnueabi/lib 其中,-disable-shared -enable-static是指定为静态编译。不过我发现这样并不能够进行编译。至于如何进行表态编译,我将在下面中进行介绍。 make, make install 2.3. 编译libmad ./configure CC=arm-none-linux-gnueabi-gcc -prefix=/home/toolchain/arm-none-linux-gnueabi -host=arm-none-linux-gnueabi -disable-debugging -disable-shared -enable-static CPPFLAGS=-I/home/toolchain/arm-none-linux-gnueabi/include LDFLAGS=-L/home/toolchain/arm-none-linux-gnueabi/lib 然后,make ,make install报错:cc1: error: unrecognized command line option “-fforce-mem” 解决方式:找到libmad configure之后的Makefile,vi Makefile找到包含-fforce-mem字符串,将其删除,就ok了 2.4. 编译madplay ./configure ./configure CC=arm-none-linux-gnueabi-gcc -prefix=/home/toolchain/arm-none-linux-gnueabi -host=arm-none-linux-gnueabi -disable-debugging -disable-shared -enable-stati

温馨提示

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

评论

0/150

提交评论