LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: good02xaut

BLFS第一步mpg123

[复制链接]
发表于 2006-3-2 19:38:15 | 显示全部楼层
你非要最小?
1.kernel module 内核源码已带
2.开机时打开设备, 用 静态链接的 alsactl amix ,否则音量为0,无意义.
如果,你还要最小, 看看 alsa-lib 的源码,直接写 /sys/* 直接控制硬件. 连 静态链接的 alsactl amix 都不要
3.程序,理论上,直接写 /dev/dsp 或alsa 的设备 就可以,不要任何库. 但是现在已经没有程序这样干了,调用 alsa-lib 这么方便,为什么要自找麻烦?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-3 10:23:17 | 显示全部楼层
兄弟误会我的意思了。
我是要求最小,但前提都是利用现有的资源,一句代码,一个程序都不用写的基础上。
从最小上讲,所有的设备只要有了驱动程序,就可以使用了。
但我觉得LFS的目的不是教大家如何编程,如何解读内核。
而是如何认识内核,理解内核的工作机理,研究各个软件的依赖关系,通常这些是不用自己编程的:)
alsa-lib是很方便,但是在对sound的支持上,他现在是什么角色?我希望了解这个:)

多说一句,我是做嵌入式的,要求最小,是为了节约成本,当然也要考虑开发方便:)
如果在嵌入式设备上,能够不用alsa-lib,移植现有的软件可以实现mp3播放,肯定是首选方案的。
通过在LFS上探索alsa-lib的功能框架,借鉴到嵌入式中。不是自找麻烦,而是找捷径呢:)
我马上开个新贴,如何实现窗口,图形界面,里面的这种思想更明显,只有这样更有利于大家学习,讨论linux的video支持。

知其然不是最终目的,知其所以然才是最终目的:)
望兄弟多多支持:)
回复 支持 反对

使用道具 举报

发表于 2006-3-3 10:29:35 | 显示全部楼层
这些课题,兄弟去 内核版 讨论更合适。LFS似乎没有对这些问题进行研究。当然,你可以延伸,但是我觉得有点跑的太远了。嘿嘿。。:!!


alsa-lib是很方便,但是在对sound的支持上,他现在是什么角色?我希望了解这个:)


这个,利用 ALSA 处理音乐的,都要用这个库。
这个库可以说是一个wrapper。把一些繁琐的函数设计成一个简单的接口,直接使用就可以了。
就类似你用计算器算 sin(x) 一样,你可以自己用最原始的方法(用笔和纸)进行计算,这是内核提供的,但是你也可以直接用 sin 这个函数(计算器),这是 alsa-lib 提供的。

不知道我这个比喻是否恰当。


还有你的新帖,简直就是内核的研究。不适合这里嘛。。。。。。:beat
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-3 10:33:41 | 显示全部楼层
斑竹,我可是丝毫没有打开过内核啊
这些都是在考虑如何在内核的基础上工作,而不是内核是怎么工作的啊

冤枉啊。5555
回复 支持 反对

使用道具 举报

发表于 2006-3-3 10:38:29 | 显示全部楼层
对一个东西的研究,不一定要从内部研究,从外部也可以研究的。

你虽然是在考虑如何更充分的使用内核,但是实际上就是对内核的一个分析。这个有点超越 LFS 的概念了,不过这个不是坏事,只是觉得跑题太远了。

我上边那个帖子改动了,你再看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-3 11:14:13 | 显示全部楼层
偶是想从外部透析内核的某些工作机制:)
不过这些问题,如果在内核版更不合适,因为这不是内核本身研究的。
这些都是工作在应用层的东西,虽然下面就是内核,但毕竟没有把触须伸进去:)

既然斑竹觉得离题了,那就算了:)
回复 支持 反对

使用道具 举报

发表于 2006-3-3 11:26:28 | 显示全部楼层
我谈谈我的理解,不一定正确哦

alas-lib的目的是为了给应用程序提供一组函数接口,这样程序可以方便的调用这些接口来控制音频,如果不用alas-lib那么应用程序自己就要实现这些函数的功能,说到底就是为了编程方便.

alas-driver早先是一个独立的软件包,之后被内核收录,所以现在内核通过alas-driver来实现声卡驱动的.

回到问题上来,就是如果软件使用了alas-lib提供的函数那么当然在运行的时候少不了alas-lib,但如果alas-driver没有驱动声卡,有alas-lib也是发不出声音的.

不知道我解释的是否清楚?
回复 支持 反对

使用道具 举报

发表于 2006-3-3 11:30:37 | 显示全部楼层
现在LFS论坛讨论的东西越来越专业了,其实这样挺好,既然准备搞自己的发行版,还是需要研究一些比较专业的问题.

    讨论问题是非常好的,只要不演化成相互攻击或者互相狡辩就好了.
回复 支持 反对

使用道具 举报

发表于 2006-3-3 11:35:52 | 显示全部楼层
要解决这个问题,只有去看 alsa 网站。
The Advanced Linux Sound Architecture comes with a driver API & library API. Our aim is to describe hardware as close as possible in drivers, but in userspace, the alsa-lib covers the hardware differences (if required). It's possible for applications to control all hardware features (if required).

ALSA 拥有一个驱动 API 和一个库 API。我们的目标是把硬件的功能尽量的在驱动中描述,但是在用户空间, alsa-lib(就是前边提及的库) 将会把硬件的区别掩盖(如果需要的话)。如果需要,程序也可以控制硬件的所有特征。

我的理解:alsa-driver,不管是内核带的,还是外部安装的,都是做一个整合的功能,用尽量统一的接口来表示各类不同的特征(声卡)。最后 alsa-lib 来统一调度这些接口。alsa-lib 就是一个库,提供方便的,你可以不同,如果你想自己手动调用的话。
回复 支持 反对

使用道具 举报

发表于 2006-3-3 11:37:14 | 显示全部楼层
Post by good02xaut
偶是想从外部透析内核的某些工作机制:)
不过这些问题,如果在内核版更不合适,因为这不是内核本身研究的。
这些都是工作在应用层的东西,虽然下面就是内核,但毕竟没有把触须伸进去:)

既然斑竹觉得离题了,那就算了:)


你去发一个帖子,看看是否适合。,我觉得还是很适合的。呵呵。只是他们会觉得很奇怪,因为你在破坏内核的规矩。你倾向尽量的使用内核,他们倾向尽量的减轻内核。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表