#打卡不停更#RK系列开发板音频驱动适配指南(五) 原创

软通动力HOS
发布于 2022-10-27 09:09
7665浏览
4收藏

背景:

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

步骤:

1.1.编译配置

•audio驱动编译配置文件路径:
 vendor\RK系列开发板\hdf_config\khdf\audio
•audio驱动私有配置文件编译配置文件:
 vendor\rockchip\RK系列开发板\hdf_config\khdf\hdf.hcs
•defconfig文件
 kernel\linux\linux-5.10\arch\arm64\configs\defconfig
...
CONFIG_DRIVERS_HDF_AUDIO_RK系列开发板=y
•Kconfig文件:
 drivers\adapter\khdf\linux\model\audio\Kconfig
config DRIVERS_HDF_AUDIO_RK系列开发板
    bool "Enable HDF Audio Codec driver"
    default y
    depends on DRIVERS_HDF_AUDIO
    help
        Answer Y to choice HDF Audio Codec driver.
•Makefile文件:
 drivers\adapter\khdf\linux\model\audio\Makefile
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/khdf
KHDF_FRAMEWORK_ROOT_DIR = drivers/hdf/framework
KHDF_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.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.

1.2.编译内核

•执行make_kernel.sh
•生成镜像文件:
out\KERNELOBJ\kernel\srctmp\linux-4.19\boot.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位小数。 [可选步骤]
#打卡不停更#RK系列开发板音频驱动适配指南(五)-鸿蒙开发者社区

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位小数。 [可选步骤]
#打卡不停更#RK系列开发板音频驱动适配指南(五)-鸿蒙开发者社区

总结:

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

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
6
收藏 4
回复
举报
6
4


回复
    相关推荐