Chinaunix首页 | 论坛 | 博客
  • 博客访问: 716443
  • 博文数量: 140
  • 博客积分: 8196
  • 博客等级: 中将
  • 技术积分: 1350
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-16 19:53
文章分类

全部博文(140)

文章存档

2011年(2)

2010年(2)

2009年(2)

2008年(20)

2007年(52)

2006年(62)

分类:

2006-09-06 22:13:56

前些日子移植了一个mpg123到开发板上,具体过程如下。
 
先下载一个mpg123的源代码包,目前最新版本是0.60,但是我没用这个,因为这个版本得用configure生成Makefile,比较麻烦。于是我选择了0.59r-gpl版本,直接改动一下Makefile就行了。
 
然后查看一下主机上arm-linux-gcc的版本,使用低版本的arm-linux-gcc时会出现编译错误。这里我使用的是3.4.1,这个版本的toolchain可以直接从handhelds.org上下载。
 
把mpg123-0.59r-gpl解包了之后就可以修改Makefile了,主要修改如下,
 
262行的 linux-arm: 标签开始,
下面的 CC=gcc 修改为 CC=arm-linux-gcc的位置
在我的机器上是CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc,不同的环境这个路径也许会不同。
然后CFLAGS里添加上一个-I选项,制定头文件的位置。这个头文件必须是开发板上运行的Linux内核的源代码目录中的include文件夹。在我的开发板上运行的2.4.18-rmk7内核,该内核的源代码位于主机上/usr/src/2.4.18-rmk7/,所以-I选项应该这样写:
-I/usr/src/2.4.18-rmk7/include
其他的就都不用改动了,然后 make linux-arm ,会生成一个mpg123程序。
 
启动minicom连接开发板,在开发板上mount主机的NFS(主机要做成NFS Server),把mpg123和一首歌cp到NFS的share目录下,然后在开发板上执行./mpg123 歌名.mp3,接上耳机就能听小曲了。
 
注意事项:
1)编译器版本不能太低,具体的界限没有测试过,反正2.95.3的toolchain是不好使,无法编译。
2)Makefile中一定要指定正确的内核头文件,也就是在开发板上使用的那个内核源代码中的include目录。
3)一般厂家给的内核就可以很好的使用了,但是使用自己编译的内核时一定要处理好声音的驱动
4)把程序下载到板子上时可以使用USB,但是个人感觉NFS最省力气
5)Makefile的修改部分如下,红色为添加或修改:
linux-arm:
$(MAKE) CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc LDFLAGS= OBJECTS='decode.o dct64.o audio_oss.o term.o' \
CFLAGS='-DREAL_IS_FIXED -DLINUX -DTERM_CONTROL -I/usr/src/2.4.18-rmk7/include/\
阅读(3037) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~