在软硬整合领域,Android以其对软件和硬件的高度开放性引领了当今的软硬整合潮流,全世界正在进行一场轰轰烈烈的Android运动,Android以不可思议的速度渗透越来越广的领域,Android智能手机、Android智能电视、Android微波炉、Android平板电脑、Android智能机器人...
分类:
移动开发 时间:
2014-12-20 02:00:54
阅读次数:
322
如何理解Android架构设计的初心并开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题。课程以Android的五大核心:HAL、Binder、NativeService、AndroidService(并以AMS和WMS为例)、ViewSystem为主轴,一次性彻...
分类:
移动开发 时间:
2014-12-20 02:00:51
阅读次数:
304
Android的电源管理框架
Android通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理框架分成五个部分:应用层,framework层,JNI层,HAL层和内核层。电源管理架构图如下:
PowerManager类向应用程序提供接口,如Wakelock的acquire, release等,上层应用程序通过这些接口实现电源的管理。
P...
分类:
移动开发 时间:
2014-12-18 16:57:45
阅读次数:
166
--------------Responsibilities & Tasks------------------Android/Linux 设备驱动开发。Android HAL 层开发。负责 Android Framework 的修改和定制,为 App 提供支撑。--------------Position Qualifications--------------电子、计算机相关专业背景,3年以上...
分类:
移动开发 时间:
2014-12-18 12:05:33
阅读次数:
178
Android Frameworks层提供了硬件服务,Android系统APP可以调用这些硬件服务,进而完成硬件的控制,实现应有的功能。接着上一篇,这一篇要在frameworks层为应用提供java接口的硬件服务。cd到frameworks/base/core/java/android/os目录,添加 IGpioService.aidl:
package android.os;
inter...
分类:
移动开发 时间:
2014-12-17 18:39:05
阅读次数:
251
Android下,java应用程序通过JNI方法调用硬件抽象层模块,在Android 从硬件到应用:一步一步向上爬 3 -- 硬件抽象层访问硬件驱动
中我们已经编译好了硬件抽象层模块,下面就要开始为HAL层编写JNI方法,为上层提供服务。
cd到frameworks/base/services/jni目录中,新建一个com_android_server_GpioService.cpp文件:...
分类:
移动开发 时间:
2014-12-15 23:40:54
阅读次数:
305
Android源码下编译HAL时出现问题:
make: *** 没有规则可以创建“out/target/product/generic/obj/SHARED_LIBRARIES/android_gpio.default_intermediates/LINKED/XXX.default.so”需要的目标“out/target/product/generic/obj/lib/liblog.so”。 ...
分类:
其他好文 时间:
2014-12-14 22:44:52
阅读次数:
728
Android 标准的硬件驱动分为两个部分,一个是运行在linux内核里的硬件驱动,而另外一部分是运行在用户空间的硬件抽象层。采用这种方法,就可以使系统具有硬件无关性,也保护了部分厂商的利益。在 Android 从硬件到应用:一步一步向上爬 1 -- 从零编写底层硬件驱动程序
中已经有了编写硬件驱动到linux内核里的步骤,下面就要接着这个工程去看看怎么在硬件抽象层增加硬件模块和我们的内核驱动...
分类:
移动开发 时间:
2014-12-14 22:42:16
阅读次数:
283
编写C程序快速测试硬件驱动:
在Android 源码根目录下的external文件夹创建driver_test文件夹:
cd external
mkdir driver_test
cd driver_test
创建Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := o...
分类:
移动开发 时间:
2014-12-12 22:20:15
阅读次数:
158
硬件平台:TI AM335X Starter Kit
开发源码:TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1.bin
主机系统:Ubuntu 10.04
这次写《Android 从硬件到应用》是想尝试从底层的最简单的GPIO硬件驱动开始,一步一步的向上走,经过硬件抽象层HAL、JNI方法等,最终编写出APP,达到硬件调用的目的,期间会增加一些...
分类:
移动开发 时间:
2014-12-12 20:54:08
阅读次数:
315