From this essay, we go to a new discussion "Android Hardware Abstraction Layer".

  

  In this essay, we fisrt talk about the architecture of linux and android.

  1、linux

  If you have got some brief reading about  《Linux Kernel Development》 or 《Linux Device Driver》, you would know the Linux Kernel working to change device to files and managering them in schedules.

  In this picture, you can see how linux kernel contribute to the operating system.

  2、Android

  TIPS : more ditals check the following website

http://elinux.org/Android_Architecture

  This picture shows how the android working.

  In an original linux operating system, C is the basic language to the kernel space and user space.

  But it's different in android, android is working on the dalvik vitural machine and JAVA framework.

  Here is another picture to show android's architeture :

  TIPS : more ditals check the following website

https://source.android.com/devices/index.html

  We can get more messanges about how android communicate with linux kernel from this picture.

  Acturely, the "Linux Kernel" in the picture means "Linux Device driver".

  In this architeture, linux device drivers do not working like what they do in a linux operating system.

  Because google want to hide the platform and device codes from kernel space againsting "GPL".

  So they provide the business-related codes in "Hardware Abstraction layer (HAL)" to replace kernel device driver, and the remaining device drivers just use data offer by HAL to communicate with I/O memory.

  It seems good that android works in this architeture, but it hurts the principle in linux "GPL" and that's why android trees were delete from linux kernel codes.

ok6410 android driver(10)的更多相关文章

  1. ok6410 android driver(7)

    This article talk about how to test device driver on JNI. There are two ways to test the device driv ...

  2. ok6410 android driver(5)

    Test the android driver by JNI (Java Native Interface), In the third article, we know how to compile ...

  3. ok6410 android driver(11)

    This essay, I go to a deeply studying to android HAL device driver program. According to the android ...

  4. ok6410 android driver(9)

    In this essay, I will write the JNI to test our leds device. If you don't know how to create a jni p ...

  5. ok6410 android driver(8)

    In the past, we know how to create and run a simple character device driver on pc, goldfish and ok64 ...

  6. ok6410 android driver(3)

    This article discusses the Makefile and how to port the module to different platform (localhost and ...

  7. ok6410 android driver(12)

    In this essay, I will talk about how to write the service libraries. TIPS : I won't discuss the name ...

  8. ok6410 android driver(6)

    This is a short essay about the mistakes in compiling ok6410 android-2.3 source codes. If there is n ...

  9. ok6410 android driver(1)

    target system : Android (OK6410) host system : Debian Wheezy AMD64 1.Set up android system in ok6410 ...

随机推荐

  1. web跨域解决方案

    阅读目录 什么是跨域 常用的几种跨域处理方法: 跨域的原理解析及实现方法 总结 摘要:跨域问题,无论是面试还是平时的工作中,都会遇到,本文总结处理跨域问题的几种方法以及其原理,也让自己搞懂这方面的知识 ...

  2. Apache+PHP+Mysql OS X 10.9 Mavericks WEB 服务器配置

    在 OS X 10.9 上基本没有什么特别大的差异. 为了新系统用户方便小弟重新整理了一下,因为在 OSX 10.9 下的 Server 软件进行了不少升级,有些步骤不太一样了. 硬件方面就不在详细描 ...

  3. 生活科技两相宜:(一)Win7使用微软SkyDrive网盘简易教程

    今天得写一个Win7使用微软SkyDrive网盘的简易教程,主要是给我老婆看,顺便贴出来给大家共享一下:)    使用微软SkyDrive网盘有两个层次.一个是使用网页版,这个跟使用163或者QQ网盘 ...

  4. ubuntu 12 JDK 编译

    下载openjdk源码 http://jdk7.java.net/source.html 安装Ubuntu上面的依赖包: .参考原书 环境变量配置: .去www.hzbook.com上面将深入理解ja ...

  5. jarsigner 签名android apk

    1.查看签名: jarsigner -verify app_signed.apk 查看是否签名,如果已经签名会打印 "jar verified". jarsigner -verif ...

  6. 自定义android RadioButton View,添加较为灵活的布局处理方式

    android的RadioButton的使用历来都让人比较头疼,如在布局方面,图案.文字无法分别设置padding等,另外,低版本的android RadioGroup不支持换行排列的RadioBut ...

  7. mysql相关问题

    MySQL导入.sql文件及常用命令,参考:http://blog.csdn.net/muziduoxi/article/details/6091202 修改mysql默认字符集的方法,参考:http ...

  8. WinForm 批量设置指定控件中的控件状态

    在开发中常遇到当点击某个按钮的时候,禁用文本框或按钮的的状态,以防止误操作,下面的代码是我已批量设置指定控件中的按钮状态的代码,同理可以延伸出很多操作. /// <summary> /// ...

  9. vs.net 2005 C# WinForm GroupBOX 的BUG?尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    其实很久没有写程序了,国庆难得有空闲,写了个游戏辅助机器人,程序写好能用后本想把UI控件放到GroupBox里归下分类,美化下界面,结果一运行报“尝试读取或写入受保护的内存.这通常指示其他内存已损坏” ...

  10. [转]mac 10.9.4下配置apache

    出处:http://yjmyzz.cnblogs.com mac 10.9.x已经自带了apache,可按如下步骤开启: 1.启动 sudo apachectl start 启动后,访问 http:/ ...