Chinaunix首页 | 论坛 | 博客
  • 博客访问: 630698
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:38:52

嵌入式学习入门 http://blog.chinaunix.net/u3/117680/showart.php?id=2300212  

文章——>嵌入式入门   讲述嵌入式学习的每一步骤

 madplay版本:

madplay-0.15.2

交叉编译器版本:

arm-linux-gcc 4.1.2

操作系统平台:

Linux -- Red Hat 9.0

开发板平台:

Arm -- TX2440A

 

 准备源码包:

madplay-0.15.2b.tar.gz libmad-0.15.1b.tar.gzlibid3tag-0.15.1b.tar.gz zlib-1.1.4.tar.gz

 

 建立两个文件夹,一个存放源码,一个存放安装文件

home下,mkdir两个文件夹:madplay-src madplay

依次解压四个源码包到madplay-src目录下: tar xzvf XXXXXXXXX

 

 1. 编译zlib-1.1.4

首先配置configure 文件

 

 #./configure --prefix=/home/madplay

 

 

 修改Makefile

CC=arm-linux-gcc

AR=arm-linux-ar rc

RANLIB=arm-linux-ranlib

 

执行

#make

#make install

 

 2. 编译libid3tag

#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib

 

执行

#make

#make install

 

3. 编译libmad

#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib

 

执行

#make

#make install

 

4. 编译madplay

#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib

#make

到这就结束了,可以不用make install

 

madplay-0.15.2b目录下生成madplay的可执行文件,查看一下需要的动态库

#arm-linux-readelf -d madplay

 

输出运行时所需的动态库:libmad.so.0, libid3tag.so.0, libm.so.6libc.so.6

将后两个文件从/usr/lib拷贝到根文件系统的/usr/lib目录下(先查看,如果已经有了则不需要),前两个文件是在/madplay/lib/下生成的,把这两个文件也拷贝到/usr/lib下。

madplay复制到根文件系统/usr/bin目录下,将一个MP3文件也放在某一目录下,在开发板上执行madplay程序

 

    #madplay XXX.mp3

 

MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.

s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66

Title: XX

Artist: XXX

Album: XXXX

Track: XX

Comment: XXXXXXXXX

s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66

如果出现这个信息,应该就没有问题了,可以听歌了。

madplay还有一些快捷键,比如:增大/减小音量(+/-),暂停(b),停止(ESC),其他的操作可以查看madplay的源码。

 

5. 静态编译

以上是用动态编译的方法,程序运行时需依赖动态库文件。也可以采用静态编译的方法,将静态库编译到程序中,运行时不需要动态库文件

在配置libid3taglibmadmadplay时,加上参数--disable-shared --enable-static即可静态编译madplay

编译完成后只需将madplay复制到根文件系统/usr/bin目录下,不需要复制动态库。

 
阅读(322) | 评论(0) | 转发(0) |
0

上一篇:使用FTP软件

下一篇:嵌入式系统学习步骤

给主人留下些什么吧!~~