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文件
相关文章推荐
- java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
- 机器学习 学习资料整理
- Unity在移动平台中,文件操作路径详解
- 京东股权众筹平台的玩法和价值
- javafx中vbox控件最下面的控件自动填充
- 手把手教学:巧用Core Data和RubyMotion开发iOS应用
- LuaTinker的bug和缺陷
- WM_GETMINMAXINFO
- ZX
- NSCharacterSet类在分割字符串中的应用
- 27个提升效率的iOS开源库推荐
- spark submit参数说明
- Coding.net 代码管理快速入门
- 在C#中读写INI配置文件
- CUDA 共享内存 bank conflict
- 做管理
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- HDU 1150 Machine Schedule【最小顶点覆盖】
- ACM基础——OJ上的Java代码提交规范
- 正则表达式提取字符串内所有的img标签下的src路径