当我潜入Android内核的时候。我有个关于音频设备驱动的问题。
人们说..。- Android使用ALSA音频驱动程序。- HAL层是C/C++库- ALSA驱动程序运行在用户空间,而不是内核空间
接下来的问题是: 1.下面图片中的音频驱动程序(我猜是ALSA驱动程序)是什么?ALSA驱动程序应该存在于库部分,是吗?(http://developer.android.com/guide/basics/what-is-android.html)
,那么在Android内核中就不应该有音频驱动程序。
我很困惑..。
谢谢你,伊尔基
发布于 2011-03-18 10:31:22
我认为现在回答已经太晚了,也许你现在已经知道答案了。
android HAL层是用C/C++编写的。根据ALSA框架,驱动程序不在用户空间。所有应用程序都使用ALSA库,而ALSA库又使用内核中的ALSA frmawwork,而后者将使用编解码器驱动程序中的函数,在本例中为wm8994.c。
因此,对于问题1:驱动程序存在于内核空间中,但是应用程序使用ALSA库(userspace)中定义的API。
对于问题2:您拥有的源代码是编解码器驱动程序,它将存在于内核空间中。ALSA核心将调用这些功能(通过ALSA SoC层,用于芯片上的系统)。
希望这能有所帮助。
https://stackoverflow.com/questions/3715888
复制相似问题