主题 : 问下:mini2440在2.6.32.2下怎么编译alsa框架的语音驱动 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 14657
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2010-02-19
最后登录: 2014-02-14
楼主  发表于: 2010-04-09 22:41

 问下:mini2440在2.6.32.2下怎么编译alsa框架的语音驱动

rt
是不是要自己用arm-linux-gcc编译个alsa的lib  之后用lasound 链接

如果是的话 问下怎么编译!  不是很会。
迫切希望高手们解答下   谢谢
[ 此帖被shuiyuehen在2010-04-10 00:26重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2010-04-10 00:46
google "alsa programming"
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2010-04-10 11:05

 回 楼主(shuiyuehen) 的帖子

是的,要在应用程序中使用ALSA,你需要先交叉编译alsa-lib(libasound.so)。
编译alsa-lib的步骤大致就是
1. 解压;
2. ./configure <交叉编译参数>
3. make ; make install

至于如何配置交叉编译以及其参数,看./configure --help的输出
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 14657
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2010-02-19
最后登录: 2014-02-14
3楼  发表于: 2010-04-10 17:09

 回 2楼(kasim) 的帖子

这是我在Ubuntu 9.04上交叉编译alsa-lib 1.0.17a的步骤:
(/mnt/sdc1/project/qq2440 /rootfs/root_qtopia是我所用的目标文件系统路径, ‘$’代表普通用户shell,'#'代表root用户shell)
1. $export PATH=$PATH:/usr/local/arm/4.3.2/bin && ./configure --host=arm-none-linux-gnueabi --prefix=/mnt/sdc1/project/qq2440/rootfs/root_qtopia
2. $make
3. $sudo -s (正确的make install需要root权限)
4. #export PATH=$PATH:/usr/local/arm/4.3.2/bin && make install (alsa-lib在make install时还需要交叉编译,因此需要将交叉编译器的路径加入到PATH环境变量中)
以上是你以前的帖子,就是我要编译lib的话,怎么配置呀;。

CC=arm-linux-gcc ./config  --host=arm-none-linux-gnueabi  

那个平台“arm-none-linux-gnueabi ”  是啥子东东哟 斑竹能解说下吗    
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2010-04-11 00:20
--host=arm-none-linux-gnueabi的意思你可以理解为告诉alsa-lib用PATH环境变量里的arm-none-linux-gnueabi-gcc作为编译器来编译源代码。如果你用的交叉编译器执行档的名字是arm-linux-gcc的话,可以用--host=arm-linux
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 14657
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2010-02-19
最后登录: 2014-02-14
5楼  发表于: 2010-04-11 22:37

 回 4楼(kasim) 的帖子

呵呵 谢谢斑竹!  lib 搞定了

弱弱的问一句:

所谓的编译lib 是在我们的PC下的Linux系统下编译  arm的lib吗?之后再下载到板子上的lib文件夹下?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2010-04-11 22:43
所谓的编译lib 是在我们的PC下的Linux系统下编译  arm的lib吗?之后再下载到板子上的lib文件夹下?

是的,这就是所谓的“交叉编译”
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 14657
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2010-02-19
最后登录: 2014-02-14
7楼  发表于: 2010-04-11 23:19

 回 6楼(kasim) 的帖子

不好意思  ,还要打扰你一下  

现在我把lib下进去了 但是运行的时候出了个错误;
error如下:
ALSA lib conf.c:3601:(snd_config_update_r) Cannot access file /home/ZSeveN_X/alsa_lib/share/alsa/alsa.conf
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM hw:0,0
unable to open pcm device: No such file or directory

其中 /home/ZSeveN_X/alsa_lib/ 是我PC的Linux安装alsa的库的位置。
为什么会出现这个东东?
  不会是要
编译完了后 在arm板子上执行一次make install吧!!!    

麻烦斑竹在解答下