启明云端分享| SSD201 / SSD202D核心板在应用时适配ALSA说明

提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸科技的新产品、新方案的主要特点及应用!希望你能第一时间了解并快速用上好的方案和产品!


SSD201 / SSD202D核心板在应用时适配ALSA需要更新使用我们提供的3个ko模块,分别是mi_ai.ko、mi_ao.ko和mi_alsa.ko。
mi_ai.ko和mi_ao.ko覆盖sdk 的project/release/nvr/i2m/common/glibc/8.2.1/modules/4.9.84/目录对应的文件。
tinyalsa 是 ALSA 的简化版,请根据需求选择其中之一。
在这里插入图片描述


ALSA

rootfs.mk的配置

  • echo pcm.* 0:0 0660 =snd/ >> ${OUTPUTDIR}/rootfs/etc/mdev.conf
  • echo control.* 0:0 0660 =snd/ >> ${OUTPUTDIR}/rootfs/etc/mdev.conf
  • echo timer 0:0 0660 =snd/ >> ${OUTPUTDIR}/rootfs/etc/mdev.conf
  • echo ‘$$DEVNAME=bus/usb/([0-9]+)/([0-9]+) 0:0 0660 =bus/usb/%1/%2’>> ${OUTPUTDIR}/rootfs/etc/mdev.conf

Kernel config配置

# cd kernel
# ARCH=arm make menuconfig
Power management options  --->
[*] Device power management core functionality
Device Drivers  --->
<M> Sound card support  --->
<M>   Advanced Linux Sound Architecture  --->
<M>   OSS PCM (digital audio) API

重新编译固件:

./Release_to_customer.sh -f nand -p ssd201 -o 2D07

将生成:
kernel/sound/soundcore.ko
kernel/sound/core/snd.ko
kernel/sound/core/snd-timer.ko
kernel/sound/core/snd-pcm.ko

注:如果你用的是开发板更新固件,系统起来后,记得将以上4个ko文件拷贝到开发板上
在这里插入图片描述

验证

通过buildroot移植ALSA:

# cd buildroot-2020.05/
# ARCH=arm make menuconfig
Target packages  --->
Libraries  --->
Audio/Sound  --->
[*] alsa-lib  --->
Audio and video applications  --->
[*] alsa-utils  ---> 
[*]   aplay/arecord
# make BR2_JLEVEL=4
将output/images/rootfs.tar替换../project/image/rootfs/rootfs.tar.gz
# mkdir ../project/image/rootfs/rootfs
# tar -xvf output/images/rootfs.tar -C ../project/image/rootfs/rootfs
# tar -cvf ../project/image/rootfs/rootfs.tar.gz ../project/image/rootfs/rootfs
重新编译并更新固件:
# cd ..
# ./Release_to_customer.sh -f nand -p ssd201 -o 2D07

把mi_ai.ko拷贝并覆盖开发板/config/modules/4.9.84/mi_ai.ko,把mi_alsa.ko拷贝到开发板根目录下:
在这里插入图片描述
然后重启开发板,并加载我们刚才拷贝的ko:
insmod soundcore.ko
insmod snd.ko
insmod snd-timer.ko
insmod snd-pcm.ko
insmod mi_alsa.ko

运行alsamixer调节音量:

# alsamixer

在这里插入图片描述
运行aplay播放wav音频:

# aplay /media/48k16bpsMono.wav

Tiny ALSA

kernel和rootfs.mk保持和alsa同样的配置。

验证

通过buildroot移植TinyALSA:

# cd buildroot-2020.05/
# ARCH=arm make menuconfig
Target packages  --->
Libraries  --->
Audio/Sound  --->
[*] tinyalsa
# make BR2_JLEVEL=4
将output/images/rootfs.tar替换../project/image/rootfs/rootfs.tar.gz
# mkdir ../project/image/rootfs/rootfs
# tar -xvf output/images/rootfs.tar -C ../project/image/rootfs/rootfs
# tar -cvf ../project/image/rootfs/rootfs.tar.gz ../project/image/rootfs/rootfs

重新编译并更新固件:

# cd ..
# ./Release_to_customer.sh -f nand -p ssd201 -o 2D07

系统起来后,同样地,先加载模块驱动:
insmod soundcore.ko
insmod snd.ko
insmod snd-timer.ko
insmod snd-pcm.ko
insmod mi_alsa.ko
tinymix set 11 0

运行tinyplay播放音频:

# tinyplay /media/48k16bpsMono.wav

wifi驱动更新

由于kernel开启了Device power management core functionality功能,因此以前的wifi驱动不能正常使用(这个wifi驱动在编译时,kernel的Device power management core functionality是关闭的),需要同时更新wifi驱动ssw101b_wifi_HT40_usb.ko,对应SDK目录下project/release/nvr/i2m/common/glibc/8.2.1/wifi/modules/ssw101b_wifi_HT40_usb.ko。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值