码迷,mamicode.com
首页 > 移动开发 > 详细

第7章 Android HAL实例解析

时间:2016-06-05 22:45:23      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

第7章 Android HAL实例解析

   通过本章介绍AndroidHAL知道HAL是为了一些硬件提供商提出的保护专利的驱动程序而产生的,是为了避开LinuxGPL束缚。HAL主要的存储目录有:1libhardware_legany  2libhardware3ril   4msm7k。主要包含以下一些模块:GpsVibratorWifiCopybitAudioCameraLightsRilOverlay等。大概了解了Android  HAL

   第1中方法 直接调用service方法的实现过程

   一般来说,HAL moudle需要涉及的是如下3个关键结构体:

     struct hw_module_t;

     struct hw_module_methods_t;

     struct hw_device_t;

JNI层文件:mokoid-read-only/frameworks/base/service/jni/com_mokoid_server_LedServer.cpp

service(属于Framework层) 文件:frameworks/base/service/java/com/mokoid/server/LedService.javaAPP测试程序(属于APP层)文件:apps/LedClient/src/com/mokoid/LedClient/LedClient.java

2中方法-------经过Manger调用service

   Manger (属于Framework层)

   APP通过这个Mangerservice通信。

   文件:mokoid-read-only /framework/base/core/java/mokoid/hardware/LedManager.java

SystemServer(属于APP层)

文件:mokoid-read-only/apps/LedTest/src/com/mokoid/LedTest/src/com/mokoid/LedTest/LedSystemServer.java.

APP测试程序(属于APP层)

文件:mokoid-read-only/apps/LedTest/src/com/mokoid/LedtTest/LedTest.java.

最后FS-S5PC实验平台LED灯实验,(1)复制实验代码mokoid-read-onlyAndroid源码根路径下:

~/eclair_2.1_farsight /$  cd mokoid-read-only

~/eclair_2.1_farsight /mokoid-read-only$ mm

(2)更新根文件系统:

      ~/eclair_2.1_farsight /$   ./make_fs100_yaffs2_image.sh

(3)编译驱动模块

4)给开发板上电,启动Android系统,加载驱动模块,创建设备节点。

5)进入主程序菜单,但是看不到我们添加的两个应用程序,通过执行如下命令:

   Logcat  -s  PackageManager &

(6)进入主程序菜单,可以看到有两个新添加的应用程序(com.mokoid.LedClientLedClienthecom.mokoid.LedTest.LedTest),执行这两个程序就可以看到控制开发板上LED灯的亮灭。

     通过本章有效掌握了Android HAL,对本章有了更深入的理解。

 

第7章 Android HAL实例解析

标签:

原文地址:http://www.cnblogs.com/fei127/p/5561815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!