在OMAP3530上移植成功Android的ALSA声卡驱动

2014-11-24 09:56:47 · 作者: · 浏览: 0

这是第一次做Android的移植,也是第一次做移植,难度对我来说,还是蛮大,但是在范老师,还有在网上很多无私的前辈的帮助下,让我的第一次移植没有出现太大问题就成功完成了~ 现在我就分享一下,我这次的移植步骤,希望对有需要的人有帮助。


首先,我这次移植的硬件平台是: omap3530


系统: Android1.5


声卡模式: ALSA


以下就是我这次的移植步骤,参照了很多前辈的经验。


1.在网上下载移植代码(用GIT下载) //这里我要说明一下,网上对于下载的移植代码可能跟我的不同,这主要你要看一下,AudioSystem这个类里时否定义了DEVICE_OUT_EARPIECE这个, 如果没有定义就我以下的,如果定义了,你就用其它一套移植代码吧,


a. platform_external_alsa-lib:


git clone git://gitorious.org/android-on-freerunner/platform_external_alsa-lib.git


将其复制到 external 目录下,并重命名为 alsa-lib


b. platform_hardware_alsa_sound


git clone git://gitorious.org/android-on-freerunner/platform_hardware_alsa_sound.git


将其复制到 hardware 目录下,并重命名为 libaudio-alsa


c. platform_external_alsa-utils (可选)


git clone git://gitorious.org/android-on-freerunner/platform_external_alsa-utils.git


将其复制到 external 目录下,并重命名为 alsa-utils


(注:以上是没有定义DEVICE_OUT_EARPIECE这个使用的代码,我不保证以上的代码能在所有的Android1.5能用)


以下是定义了DEVICE_OUT_EARPIECE的代码 下载


git clone git://android.git.kernel.org/platform/external/alsa-lib.git


git clone git://android.git.kernel.org/platform/external/alsa-utils.git


git clone git://android.git.kernel.org/platform/hardware/alsa_sound.git


改法同上。


2.修改system/core/init/device.c加上一段代碼以創建/dev/snd:


3. 修改system/core/init/devices.c,增加设备节点及权限: