- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
声卡驱动程序
声卡驱动程序
sound\soc\s3c24xx\s3c2410-uda1341.c
s3c2410_uda1341_init
driver_register(s3c2410iis_driver);
.....
s3c2410iis_probe
/* 使能时钟 */
/* 配置GPIO */
/* 设置S3C2440的IIS控制器 */
init_s3c2410_iis_bus
/* 使用L3接口初始化uda1341芯片 */
init_uda1341();
/* 设置两个DMA通道:一个用于播放,另一个用于录音 */
.....
register_sound_dsp(smdk2410_audio_fops, -1);
sound_insert_unit(chains[3], fops, dev, 3, 131, dsp, S_IWUSR | S_IRUSR, NULL); // /dev/dsp
register_sound_mixer(smdk2410_mixer_fops, -1);
sound_insert_unit(chains[0], fops, dev, 0, 128, mixer, S_IRUSR | S_IWUSR, NULL); // /dev/mixer
/dev/dsp: 用于播放/录音
/dev/mixer: 调整音量
1. 主设备号
2. file_operations
3. register_chrdev
app: open () // 假设主设备号为14
-------------------------------------------
soundcore_open
int unit = iminor(inode);
s = __look_for_unit(chain, unit);
// 从chains数组里得到, 谁来设置这个数组?
new_fops = fops_get(s-unit_fops);
file-f_op = new_fops;
err = file-f_op-open(inode,file);
录音:
app: read
----------------------
file-f_op-read
播放:
app: write
-------------------------
file-f_op-write
测试:
1. 确定内核里已经配置了sound\soc\s3c24xx\s3c2410-uda1341.c
- Device Drivers
- Sound
- Advanced Linux Sound Architecture
- Advanced Linux Sound Architecture
- System on Chip audio support
* I2S of the Samsung S3C24XX chips
2. make uImage
使用新内核启动
3. ls -l /dev/dsp /dev/mixer
4. 播放:
在WINDOWS PC里找一个wav文件,放到开发板根文件系统里
cat Windows.wav /dev/dsp
5. 录音:
cat /dev/dsp sound.bin
然后对着麦克风说话
ctrl+c退出
cat sound.bin /dev/dsp // 就可以听到录下的声音
怎么写WM8976驱动程序?
1. IIS部分一样,保持不变
2. 控制部分不同,重写
测试WM8976:
1. 确定内核里已经配置了sound\soc\s3c24xx\s3c2410-uda1341.c
- Device Drivers
- Sound
- Advanced Linux Sound Architecture // 兼容OSS
- Advanced Linux Sound Architecture
- System on Chip audio support
* I2S of the Samsung S3C24XX chips
2. 修改sound/soc/s3c24xx/Makefile
obj-y += s3c2410-uda1341.o
改为:
obj-y +=
您可能关注的文档
最近下载
- 深基坑专项施工专家论证方案(专家论证通过版).doc VIP
- 一次性使用泪道引流管产品技术要求2022年.pdf VIP
- GB∕T22081-2024《网络安全技术——信息安全控制》之49:“7物理控制-7.4物理安全监视”专业深度解读和应用指导材料(雷泽佳编制-2025A0).docx VIP
- 22j4031楼梯栏杆图集.pptx VIP
- INOVANCE汇川-MD520系列通用变频器调试手册-中文.PDF
- 学习八项规定思想汇报.docx VIP
- GB∕T22081-2024《网络安全技术——信息安全控制》之60:“8技术控制-8.2特许访问权限”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- 椭圆的第三定义.pptx VIP
- GB∕T22081-2024《网络安全技术——信息安全控制》之61:“8技术控制-8.3信息访问限制”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- 《风景名胜区拟建项目对景观及生态影响评估技术规范》.pdf VIP
原创力文档


文档评论(0)