Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1217560
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: LINUX

2012-10-22 14:20:48

作者:程姚根,讲师。

一. 下载alsa所需要的库和测试alsa的测试工具,此次使使用的是alsa-lib-1.0.24.1.tar.bz2、alsa-utils-1.0.24.2.tar.bz2。

二. 默认情况下内核已经支持alsa驱动,保险情况下先去确认一下,如下图:

Device Drivers --->
            Sound card support --->
                Advanced Linux Sound Architecture --->
                    ALSA for SoC audio support --->
                        <*> SoC Audio for the Samsung S3CXXXX chips

三. 解压alsa-lib和alsa-utils

对于alsa-lib,进行配置,运行:

./configure --host=arm-iwmmxt-linux-gnueabi --prefix=/usr/arm-alsa --with-alsa-devdir=/dev --enable-static --enable-shared  --disable-python --with-configdir=/usr/arm-alsa/share/alsa
        Make
        Make install

--prefix为lib安装路径,在PC机上要有次目录,在开发板上也要有相同的目录,移植的时候将arm-alsa中所有文件全部复制到开发板上 /usr/arm-alsa中。

对于alsa-utils,进行配置,运行:

./configure --host=arm-iwmmxt-linux-gnueabi --prefix=/usr/arm-alsa --enable-static --enable-shared CFLAGS="-I/usr/arm-alsa/include" LDFLAGS="-L/usr/arm-alsa/lib -lasound" --disable-alsamixer --disable-xmlto --with-alsa-inc-prefix=/usr/arm-alsa/include
        Make
        Make install

参数说明:

--host 指定编译出来软件运行的平台,--prefix指定make install安装的路径(如:include、lib、bin等)

四.移植到开发板

在开发板上发布alsa库.除了libasound.so库以外,必须还要把 alsa.conf发布到板上,这个文件可以在make install后在你安装目录下的share找到alsa目录,把这个目录整个拷贝到开发板即可。

注意:如果提示找不到某某目录下的alsa.conf,只要在开发板上按照提示建立相应的目录,再把share目录,考到相应目录下

五、测试

用cat /proc/asound/devices可以看到:

正常情况下,在你的/dev/snd会看到如下设备结点(有例外,就是内核驱动调整了结点位置,可以用ln -s 来创建链接到/dev/snd下),用ls -l /dev/snd 可以看到:

注意:如果出现如下错误

这说明,在开饭板上的dev目录下,没有snd这个目录,需要自己手动添加此目录,再把相应的设备节点添加到这个目录下(就是上面ls –l /dev/snd下的那下设备节点,可以在dev目录下找到)

阅读(2464) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

nightmeng2013-07-21 09:16:29

真好意思把这称为驱动移植,华清的老师也就会这些了,哎,培训机构,各种坑爹