引言:
往日工作中对于声卡驱动的调试也仅仅局限于编译供应商提供的codec及配置dts,并没有去深入了解声卡驱动,目前打算去好好研究一下,为了以后能更好的处理关于声卡驱动方面的问题。经过网上查阅资料发现好多文章都是基于早前的内核版本,API以及结构已经变动了好多。目前我工作主要是基于RK的芯片做项目,内核版本为4.19.111,就基于该版本内核做一下详细分析。
该专栏将记录我的声卡驱动学习经历,由于工作原因更新时间可能不确定,内容可能也会有些许出入,但后续会慢慢完善。
一:概述
ALSA(The Advanced Linux Sound Architecture高级Linux声卡框架)为Linux操作系统提供音频和MIDI(Musical Instrument Digital Interface乐器数字接口)功能。ALSA具有以下显著特点:
- 高效支持所有类型的音频接口,从消费声卡到专业的多声道音频接口。
- 完全模块化的声音驱动器。
- SMP(Symmetrical Multi-Processing多处理)和线程安全设计。
- 用户控件库(alsa-libÿ