您的位置:首页 > 其它

Tiny210开发板wm8960驱动

2015-07-24 16:26 465 查看

tinyalsa库

如果修改了external/tinyalsa目录下的内容,可以通过如下两种方法去编译tinyalsa相关的工具。

1、m mm mmm external/tinyalsa

m mm mmm具体的实现在android-4.0.3_r1/build/envsetup.sh,所以只要source一遍这个文件便能在编译过程中使用m mm mmm了。

m 编译所有的模块

mm 编译当前目录下的模块,当前目录下要有Android.mk文件

mmm 编译指定路径下的模块,指定路径下要有Android.mk文件

我在编译externel/tinyalsa过程中遇到问题如下:

执行:mmm external/tinyalsa

需要的目标“out/target/product/generic/obj/lib/liblog.so”

lei@testHP:~/Tiny210/android-4.0.3_r1$ make liblog

需要的目标“out/target/product/generic/obj/lib/libcutils.so”

需要的目标“out/target/product/generic/obj/lib/libutils.so”

以上会不断遇到缺少的库编译的问题,所以采用第二种方法去编译tinyalsa库相关的东西。

2、直接在根目录执行:./build-android

例如我修改了external/tinyalsa/tinyplay.c文件,那么编译会得到如下输出:

target thumb C: tinyplay <= external/tinyalsa/tinyplay.c

target Executable: tinyplay (out/target/product/mini210/obj/EXECUTABLES/tinyplay_intermediates/LINKED/tinyplay)

target Symbolic: tinyplay (out/target/product/mini210/symbols/system/bin/tinyplay)

target Strip: tinyplay (out/target/product/mini210/obj/EXECUTABLES/tinyplay_intermediates/tinyplay)

通过以上两种方法的任意一种将tinyalsa编译之后在Tiny210/android-4.0.3_r1/out/target/product/mini210/symbols/system/bin会有tinyplay tinymix tinycap,而tiny210 android SDK默认没有把他们打包到系统中,所以需要手动将tinyplay tinymix tinycap复制到rootfs_dir目录下。

Tiny210的wm8960 codec驱动和machine驱动

Tiny210的linux kernel并没有提供wm8960的machine驱动,但是提供了编译好的二进制内核模块直接加载到系统中。

~/Tiny210/android-4.0.3_r1/rootfs_dir/system/lib/modules/3.0.8-FriendlyARM/kernel/sound/soc/s5pv2xx/snd-soc-wm8960.ko snd-soc-mini210-wm8960.ko

~/Tiny210/android-4.0.3_r1/rootfs_dir/system/lib/modules/2.6.35.7-FriendlyARM/kernel/sound/soc/s5pv2xx/snd-soc-wm8960.ko snd-soc-mini210-wm8960.ko

这些驱动在/system/etc/init.mini210.sh中会被modprobe

现在我们需要自己添加machine driver文件mini210_wm8960.c,这个文件要到网上去找,也可以反编译两个.ko文件。编译完codec驱动、platform驱动、machine驱动到kernel之后,kernel便能使用wm8960了。

我们还需要做以下步骤:

1) 注销Tiny210/android-4.0.3_r1/rootfs_dir/system/etc/init.mini210.sh中关于audio module probe的语句。

#Audio, video, input

#modprobe snd-soc-wm8960

#modprobe snd-soc-mini210-wm8960

2)删除rootfs_dir/system/lib/modules/3.0.8-FriendlyARM/kernel/sound/soc/s5pv2xx/两个.ko文件

3)删除rootfs_dir/system/lib/modules/2.6.35.7-FriendlyARM/kernel/sound/soc/s5pv2xx两个.ko文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: