已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季九年一贯制学校教研组长工作汇报课件:家校携手共育未来
- 2026柔性供应链对定制化工业包装袋项目现金流影响分析
- IBMMAXIMO资产管理软件产品概述
- 2026数字孪生技术在商业对讲机全生命周期运维降本增效应用研究
- 2026后市场服务转型下活塞式空压机按气量计费模式的风险控制研报
- 利用MFC的Csocket类实现网络通信
- 2026四川对口招生考试(土木水利类)历年参考题库含答案详解
- 2026吉林机关事业单位工人技术等级考试(热力运行工)历年参考题库含答案详解
- 2026危险品资格证(官方)-判断题参考试题库历年考点答案详解
- 2026卫生专业技术资格考试理化检验技术·初级士(基础知识)历年参考题库含答案详解
- 居家安宁疗护培训
- DB34∕T 5318-2025 养老机构分级护理服务规范
- 个人借款合同及还款计划模板集
- 2026年少先队大队委员选拔考核核心考点专项突破练习题及解答
- 2026年中级注册安全工程师之安全生产法及相关法律知识考试题库500道(考点精练)
- 雨课堂学堂在线学堂云《古代汉语-文选(西外院)》单元测试考核答案
- 2025广东惠州市博罗县自然资源局招聘编外人员76人考试笔试备考题库及答案解析
- 闪测影像测量仪校准规范
- 旅游安全培训风险课件
- 美国AHA ACC高血压管理指南(2025年)修订要点解读课件
- 教育技术学在教师专业发展中的应用论文
评论
0/150
提交评论