一、概述
前面我们已经建立了工程,移植驱动,制作好文件系统。下面我们编译并移植ALSA音频设备的驱动,并播放、录制音频。
二、软件需求
1、alsa-utils-1.1.5.tar.bz2 ftp://ftp.alsa-project.org/pub/utils/
2、alsa-lib-1.1.5.tar.bz2 ftp://ftp.alsa-project.org/pub/lib/
三、安装 alsa lib
1、解压
# tar jxvf alsa-lib-1.1.5.tar.bz2
# cd ./alsa-lib-1.1.5/
2、配置
记得首先 source 编译器
# source /opt/Xilinx/SDK/2015.4/settings64.sh
# ./configure --host=arm-linux --prefix=/usr/local/arm-alsa --enable-shared --disable-python --with-configdir=/usr/local/alsa --with-plugindir=/usr/local/alsa_lib CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ LD=arm-xilinx-linux-gnueabi-ld
3、安装
# make
# make install
四、安装 alsa utils
1、解压
# tar jxvf alsa-utils-1.1.5.tar.bz2
# cd ./alsa-utils-1.1.5/
2、配置
# ./configure --host=arm-linux --prefix=/usr/local/arm-alsa CFLAGS="-I/usr/local/arm-alsa/include" LDFLAGS="-L/usr/local/arm-alsa/lib -lasound" --disable-alsamixer --disable-xmlto --with-alsa-inc-prefix=/usr/local/arm-alsa/include --with-alsa-prefix=/usr/local/arm-alsa/lib CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ LD=arm-xilinx-linux-gnueabi-ld
3、安装
# make
# make install
五、拷贝到开发板
1、将SD卡插入电脑
2、拷贝
# cp -rf /usr/local/arm-alsa/bin/* /media/dylan/EXT4/bin
# cp -rf /usr/local/arm-alsa/sbin/* /media/dylan/EXT4/sbin
# cp -rf /usr/local/arm-alsa/lib/* /media/dylan/EXT4/lib
3、新建文件夹、拷贝
# cd /media/dylan/EXT4/usr
# mkdir local
# cp -rf /usr/local/alsa ./local/
# cp -rf /usr/local/arm-alsa ./local/
4、将adau1761.state文件拷贝到根目录
# cp '/mnt/hgfs/ubuntu_share/adau1761.state' '/media/dylan/EXT4'
5、拷贝歌曲到根目录
# cp '/mnt/hgfs/ubuntu_share/3758176211.wav' '/media/dylan/EXT4'
六、测试
1、给开发板通电,执行:
配置环境变量、配置adau1761.state文件。
# export ALSA_CONFIG_PATH=/usr/local/alsa/alsa.conf
# alsactl restore -c 0 -f adau1761.state
2、播放音乐
# aplay 3758176211.wav
3、录音
# arecord -Dhw:ADAU1761 -fS32_LE -d10 -c2 -r48000 record.wav
Ctrl + C to interrupt
# aplay -Dhw:ADAU1761 -fS32_LE -c2 -r48000 record.wav
4、测试图
七、备注
主要参考:
zedboard ——adau1761之音频播放:alsa lib 和alsa utils库移植至zedboard(四)