DIY编程器网
标题:
Mpg123在ARM平台上的移植
[打印本页]
作者:
liyf
时间:
2012-1-27 19:25
标题:
Mpg123在ARM平台上的移植
Mpg123是广泛应用于Linux-console模式的mp3播放器。他的源码可以在如下网站获取:
http://sourceforge.net/projects/mpg123
http://www.mpg123.de/
http://mpg123.orgis.org/
最新版本为mpg123-0.59r-gpl,于2005-4-8发布。
在ARM平台上,一般的音频设备的驱动都是伴随内核一起发布的。对于播放Mp3需要用到/dev/dsp或者/dev/audio设备,如需调节音量还要用的/dev/mixer。声卡驱动的编写不是本文的内容,本文具体介绍一下mpg123的编译和运行。
Mpg123支持的硬件平台(I386,486,586,ppc,arm等)和软件平台(linux,bsd等)很多。根据make 命令后面的参数的可以条件编译。软件平台的选择是通过设置编译器完成,硬件平台的选择是设定编译器的参数。
例如,
在默认的Makefile文件中使用的是gcc编译器,为了能够得到我们需要的基于ARM平台的代码,我们修改Makefile其中的(红色为修改内容):
linux-arm:
$(MAKE) CC=arm-linux-gcc LDFLAGS= OBJECTS='decode.o dct64.o audio_oss.o term.o' \
CFLAGS='-DREAL_IS_FIXED –I/linux/include -DLINUX -DTERM_CONtrOL \
-DOSS -Wall -O6 -mtune=xscale \
-fomit-frame-pointer -funroll-all-loops \
-finline-functions -ffast-math' \
mpg123-make
然后在console下面运行:
make linux-arm
当前目录下就生成了基于ARM的mpg123可执行文件,大小为100多K。需要特别注意的是头文件的路径设定,必须是交叉编译后的内核代码文件夹中的include。
在开发板上运行./mpg123 rain.mp3 & 耳机就会有音乐传来,声音可能比较小,这个需要mixer应用辅助调节一下音量即可。关于Mixer的将在后续文章中张贴。
[/td]
[/tr]
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2