sp; obj-y += s3c2410-uda1341.o
改为:
obj-y += s3c-wm8976.o
4) make uImage生成内核镜像文件,在上面目录下会生成对应的s3c-wm8976.o文件;
烧写uImage到开发板,启动可看到/dev/dsp /dev/mixer两个设备节点。
3. WM9876应用测试
3.1 简单测试
1)将.wav音频文件拷贝到开发板:
# tftp -g -r Windows.wav 10.70.12.166 (注意修改网口的IP地址)
2)播放音频:
# cat Windows.wav > /dev/dsp
录音:
# cat /dev/dsp > sound.bin 对着麦克风说话,存到sound.bin文件中
按下 ctrl+c退出
# cat sound.bin > /dev/dsp 读取sound.bin文件
3.2 安装madplay测试
Madplay是一个根据MAD算法写的MP3播放器,而MP3属于高压缩比(11:1)的文件,所以需要madplay解码后才能给我们声卡播放,使用之前,需要先来移植madplay。
步骤如下:
1)首先下载并解压3个文件
- libid3tag-0.15.1b.tar.gz mp3的解码库
- libmad-0.15.1b.tar.gz madplay的文件库
- madplay-0.15.2b.tar.gz madplay播放器的源码
分别解压:
# tar xzf libid3tag-0.15.1b.tar.gz
# tar xzf libmad-0.15.1b.tar.gz
# tar xzf madplay-0.15.2b.tar.gz
2)创建安装目录:# mkdir tmp
编译安装libid3tag-0.15.1b
# mkdir tmp
# cd libid3tag-0.15.1b
# ./configure --host=arm-linux --prefix=/work/drivers_and_test/ 21th_sound/ app/ tmp
# make
# make install
编译安装 libmad-0.15.1b
# cd libmad-0.15.1b
# ./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/ tmp
# make
# make install
编译安装madplay
# cd madplay-0.15.2b/
# ./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp LDFLAGS="-L/work/drivers_and_test/21th_sound/app/tmp/lib" CFLAGS="-I /work/drivers_and_test/21th_sound/app/tmp/include"
# make
# make install
//CFLAGS:指定头文件,LDFLASG:指定库文件
3)把/tmp/bin目录下的所有文件,复制开发板的bin目录下:
# cp bin/* /work/nfs_root/
4)把/ tmp/lib目录下的带so文件,复制到开发板最小根文件nfs的lib目录下
# cd app/tmp/lib
# cp *so* /work/nfs_root/lib -d //带链接复制
5)将mp3音频文件拷贝至开发板,并使用madplay播放mp3音频
# madplay --tty-control 1.mp3 //播放1.mp3
6)使用madplay控制播放mp3
# madplay --tty-control 1.mp3 //用按键控制声音
# madplay 1.mp3 2.mp3 3.mp3 //循环播放3首歌
控制按键--可以使用热键来控制,常用的有以下几种:
· f 上一首
· b 下一首
· i 获取播放时间和播放歌曲名
· p 播放暂停
· s 停止
· + 音量加
· - 音量减
4. 问题总结
· 注意:安装2个库和madplay可能会遇到错误:
· 1. https://blog.csdn.net/xiaodingqq/article/details/82153464
· 2. arm-linux-gcc和linux内核源码版本问题,以及U-boot版本;
参考:https://www.cnblogs.com/lifexy/p/7867782