RK系列开发板音频驱动适配指南(五)

描述

  音频驱动

- 陈甲印 -

鸿湖万联产品推荐官

鸿湖万联高级技术专家

背景

RK系列开发板音频驱动DAI、DMA、Codec、HCS适配完成之后,需要进行编译,验证驱动是否可用。而操作步骤主要是指导开发者,如何正确使用音频驱动,通过命令来控制音频文件的播放等。  

步骤

  1.1 编译配置

audio驱动编译配置文件路径:

vendorRK系列开发板hdf_configkhdfaudio

audio驱动私有配置文件编译配置文件:

vendor ockchipRK系列开发板hdf_configkhdfhdf.hcs

defconfig文件

 

kernellinuxlinux-5.10archarm64configsdefconfig
...CONFIG_DRIVERS_HDF_AUDIO_RK系列开发板=y

 

Kconfig文件:

 

driversadapterkhdflinuxmodelaudioKconfig
config DRIVERS_HDF_AUDIO_RK系列开发板bool "Enable HDF Audio Codec driver"default ydepends on DRIVERS_HDF_AUDIOhelpAnswer Y to choice HDF Audio Codec driver.

 

Makefile文件:

 

driversadapterkhdflinuxmodelaudioMakefile
KHDF_AUDIO_BASE_ROOT_DIR = ../../../../../../../..KHDF_AUDIO_RK系列开发板_DIR = $(KHDF_AUDIO_BASE_ROOT_DIR)/device/rockchip/RK系列开发板/audio
KHDF_AUDIO_KHDF_ROOT_DIR = drivers/hdf/khdfKHDF_FRAMEWORK_ROOT_DIR = drivers/hdf/frameworkKHDF_AUDIO_RK系列开发板_INC_DIR = $(KHDF_FRAMEWORK_ROOT_DIR)/../../device/rockchip/RK系列开发板/audio
obj-$(CONFIG_DRIVERS_HDF_AUDIO_RK系列开发板) += $(KHDF_AUDIO_RK系列开发板_DIR)/soc/src/RK系列开发板_dma_ops.o $(KHDF_AUDIO_RK系列开发板_DIR)/soc/src/RK系列开发板_dma_adapter.o $(KHDF_AUDIO_RK系列开发板_DIR)/dai/src/RK系列开发板_dai_adapter.o $(KHDF_AUDIO_RK系列开发板_DIR)/dai/src/RK系列开发板_dai_ops.o $(KHDF_AUDIO_RK系列开发板_DIR)/codec/src/es8388_codec_adapter.o $(KHDF_AUDIO_RK系列开发板_DIR)/codec/src/es8388_codec_ops.o
ccflags-$(CONFIG_DRIVERS_HDF_AUDIO_RK系列开发板) +=  -lm -lc -lgcc -std=gnu99 -Werror -I$(srctree)/$(KHDF_AUDIO_KHDF_ROOT_DIR)/osal/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/core -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/utils -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/osal -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/platform -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/audio -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/ability/sbuf/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/core/common/include/host -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/core/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/sapm/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/dispatch/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/common/include -I$(srctree)/bounds_checking_function/include -I$(srctree)/$(KHDF_AUDIO_RK系列开发板_INC_DIR)/soc/include -I$(srctree)/$(KHDF_AUDIO_RK系列开发板_INC_DIR)/dai/include -I$(srctree)/$(KHDF_AUDIO_RK系列开发板_INC_DIR)/codec/include

 

  1.2 编译内核

执行make_kernel.sh

生成镜像文件:

outKERNELOBJkernelsrctmplinux-4.19oot.img

操作步骤,主要是指导开发者,如何正确使用音频驱动,通过命令来控制音频文件的播放等。   1.3 播放Demo操作步骤

Step1:执行hdc shell

Step2:运行audiosamplerender

Step3:输入2 (选择2.Render SmartPA)

Step4:输入1 (选择1.Render Direct Loading)

Step5:输入1 (选择1.Render Start)

Step6:在播放过程可以输入2-12,操作其他功能,其中音量范围0-1,可输入2位小数。[可选步骤]

音频驱动
1.4 录音Demo操作步骤 录音Demo当前默认使用的是外置Codec。

Step1:执行hdc shell

Step2:运行audiosamplecapture

Step3:输入1 (选择1.Capture Direct Loading)

Step4:输入1 (选择1.Capture Start)

Step5:在播放过程可以输入2-12,操作其他功能,其中音量范围0-1,可输入2位小数。[可选步骤]

音频驱动    

总结

通过编译配置、并执行make_kernel.sh命令,最后生成镜像文件 boot.img,通过烧录工具烧录,即可验证驱动。RK系列开发板音频驱动适配指南,从DAI驱动适配、DMA的驱动适配到到编译内核以及本文的操作步骤指导,掌握了核心代码和步骤,更深入了解了驱动适配的整个过程。一整套流程下来,就可以适配RK系列开发板音频驱动。 未来,将会为大家持续分享精彩内容。  

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分