alsa-lib, alsa-utils交叉编译及在嵌入式上使用

来源:互联网 发布:怎么学习云计算 编辑:程序博客网 时间:2024/06/05 17:17
  1. 下载alsa-lib和alsa-utils
    www.alsa-project.org/main/index.php/Download
    上面是官方的地址,可是alsa-lib总下载不了,于是我在download.chinaunix.net/上面下载了alsa-lib-1.0.25和alsa-utils-1.0.25
    我把这两个文件上传到CSDN资源:http://download.csdn.net/detail/luckywang1103/8684927

  2. 编译alsa-lib

    1. 解压alsa-lib-1.0.25.tar.bz2
    2. 进入alsa-lib-1.0.25目录
    3. ./configure –host=arm-linux –prefix=$PWD/build –enable-shared –disable-python –with-configdir=$PWD/build/alsa_lib/share –with-plugindir=$PWD/build/alsa_lib/lib
    4. make & make install
  3. 编译alsa-utils

    1. 同上
    2. 同上
    3. ./configure –host=arm-linux –prefix=$PWD/build CFLAGS=”-I/home/lei/alsa/alsa-lib-1.0.25/build/include” LDFLAGS=”-L/home/lei/alsa/alsa-lib-1.0.25/build/lib -lasound” –disable-alsamixer –disable-xmlto
    4. make & make install
      说明:这里CFLAGS和LDFLAGS使用的是’2’中alsa-lib在build目录下生成的include文件和lib文件。
  4. 拷贝文件到开发板

    1. 将’2’中得到的/home/lei/alsa/alsa-lib-1.0.25/build/lib下的libasound.*复制到开发板的/lib目录下,将/home/lei/alsa/alsa-lib-1.0.25/build/alsa_lib/share文件复制到开发板的同样的文件位置(即在开发板上也要这样一个位置)
      说明:share文件包含了一些配置文件alsa.conf等
    2. 将/home/lei/alsa/alsa-utils-1.0.25/build/bin目录下的aplay复制到开发板,同时可以拷贝/home/lei/alsa/alsa-utils-1.0.25/build/share/sounds/alsa目录下的一些wav文件到开发板供测试。
  5. 在开发板上ls -l /dev/snd看看系统是否已经有了设备节点,如果没有,需要手动创建。

    mkdir /dev/snd
    mknod /dev/snd/controlC0 c 116 0
    mknod /dev/snd/pcmC0D0p c 116 16
    mknod /dev/snd/pcmC0D0c c 116 24
    mknod /dev/snd/seq c 116 1
    mknod /dev/snd/hwC0D0 c 116 4
    mknod /dev/snd/timer c 116 33

可以通过cat /proc/asound/devices,正常会看到一些设备来决定创建哪些设备节点。
0: [ 0] : control
16: [ 0- 0]: digital audio playback
24: [ 0- 0]: digital audio capture
33: : timer

  1. 播放文件
    /bin/aplay Front_Center.wav

部分参考:
http://blog.csdn.net/reille/article/details/5845913
http://ackerman.iteye.com/blog/828912

0 0
原创粉丝点击