




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中西医结合耳鼻咽喉科学知到智慧树答案
- 基于WPF的教育数据分析与可视化系统-洞察及研究
- 2025年度铁路货运代理货物装车及卸车服务合同
- 2025年酒店行业客房服务员派遣服务合同
- 2025车库使用权转让及车位配套维修合同
- 2025版跨境电商商业采购合同
- 2025版建筑垃圾清运及处置劳务分包合同范本
- 2025年大数据中心采购合同签订与数据安全协议
- 2025版企业文化墙定制墙体彩绘合同
- 2025版水泥运输服务标准合同样本
- 2024年秋季新外研版七年级英语上册教学计划
- 高一语文开学第一课课件
- 2024-2030年中国汽车金融行业市场深度分析及竞争格局与发展前景展望研究报告
- JGT163-2013钢筋机械连接用套筒
- HIV感染产妇分娩母婴阻断演练脚本
- 科技园区建设规划
- 客舱安全与应急处置(含活页实训手册) 课件 模块四 客舱失火处置
- GB/T 43677-2024生态系统评估陆地生态资产核算技术指南
- 儿童及青少年知情同意书版本
- 《内科胸腔镜术》课件
- 肺部感染性疾病课件
评论
0/150
提交评论