david

david

33个粉丝

368

问答

253

专栏

229

资料

david  发布于  2014-09-23 08:47:06
采纳率 1%
368个问答
一个爱徒步的~IT民工
11010

alsa-utils 和 aplay 移植到嵌入式系统

下载 alsa-lib和  alsa-utils.

在制作 alsa-lib时,比较顺利 主要是配置 --prefix 这个是生成的文件,所在目录。

使用的是

alsa-lib-1.0.28.tar.bz2

解压 然后在目录下 :
./configure --host=arm-linux --prefix=/home/ALSA/alsa_lib

然后make
make install 比较顺利。

alsa-utils-1.0.28.tar.bz2

./configure --host=arm-linux --prefix=/home/ALSA/alsa_utils
--with-alsa-inc-prefix=/home/ALSA/alsa_lib/include
--with-alsa-prefix=/home/ALSA/alsa_lib/lib
--disable-alsamixer --disable-xmlto
这个就 没有那么顺利了。

先是报错。lib不对,是因为路径不对。后面是

mv: cannot stat `t-ja.gmo': No such file or directory
在ubuntu下

google发现需要装这个gettext
apt-get install gettext.  发现问题依旧。

后来看某人的博客,讲可以在对应目录创建这个文件夹。 编译是通过了。make install又出错了。今天继续寻找解决方法。
我来回答
回答6个
时间排序
认可量排序

david

33个粉丝

368

问答

253

专栏

229

资料

david 2014-09-23 09:02:07
认可0
刚刚解决。 昨天死磕。说来惭愧,装完gettext 一直还是报错。
今天把 alsa-utils-1.0.28.tar.bz2 解压目录全部rm -r了。然后重新  ./configure 然后直接  make install,居然ok了。下图 生成出来的。
筒子们遇到和我一样的问题,那就直接rm掉重新配置一下。

david

33个粉丝

368

问答

253

专栏

229

资料

david 2014-09-23 13:57:11
认可0
问题继续: 上一楼 发现 aplay 和  arecord speaker-test 已经生成 ,然后到android4.0/device/softwinner/下面对用的目录。
把目录 拷贝到softwinner 对应平台版本下。然后修改mk文件,添加copy机制。

重新编译android的系统 。烧写img. 发现在机器的system/lib  和机器system/bin下alsa tool的东东。
然后运行一下,aplay 报错 :

not executable: magic 7F45

In Linux a file’s magic number is the first few bytes of content that determine the file type
在linux一个可执行文件的前几个字节标识magic number,它决定了文件的类型。
magic 7F45 ,这个magic num 是一个可执行 ELF文件格式,不是一个可以在arm架构处理器上执行的格式。
好吧,问题再次明朗,那就是我的arm-linux-gcc 没有配置正确。 重新在alsa-lib下 configure 发现 指定的arm-linux 都是no .然后选择了默认的x86 gcc.  
这一楼 关于 alsa的移植先写到着,先解决掉arm-linux-gcc的问题。

david

33个粉丝

368

问答

253

专栏

229

资料

david 2014-09-23 15:14:02
认可0
接着继续安装 arm-linux-gcc这个不用讲了。
安装完毕发现 工具链已经不叫 arm-linux了 所有我们在第一楼中讲的configure要变成后面。./configure --host=arm-linux-gnueabi --prefix=/home/ALSA/alsa_lib
然后发现 没有编译,幸运的话gcc还是默认成了x86的 。alsa-lib默认是 arm-linux-gnueabi-gcc 我们安装usr/bin下是 arm-linux-gnueabi-gcc-4.4
cp 一个。然后编译ok。这次应该是交叉编译的了。

david

33个粉丝

368

问答

253

专栏

229

资料

david 2014-10-07 14:55:04
认可0
继续,终于把 aplay 成功移植到 android下了。 我设备下面有两个声卡。就当是两个吧,1个是芯片自带codec.另一个是I2S外接了 一个3g modem.
config 文件默认是可以在card 0上播放的,我现在需要调整到 card 2

david

33个粉丝

368

问答

253

专栏

229

资料

david 2014-10-07 15:40:23
认可0
defaults.ctl.card 0
defaults.pcm.card 0
defaults.pcm.device 0

aplay 指定到不同声卡播放 修改这里。

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-10-07 18:25:58
认可0
:hug::hug::hug::hug:
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区