Android深度探索(卷1)HAL与驱动开发 读书笔记(第一章)

                                                                              第一章 Android系统移植与驱动开法

1.1  Android系统架构包括四层:第一层:Linux内核(主要包括驱动程序以及管理内存、进程、电源等资源的程序),第二层:C/C++代码库(主要包括Linux的,so文件以及嵌入到spk程序中的dnk代码),第三层:Android SDK API(直接面向应用程序的Java APK),第四层:应用程序(面向最终用户的Java应用程序);

1.2  Android系统移植可分为两部分:应用移植和系统移植.  应用移植是将第四层的应用程序移植到某一个特定硬件平台。为了保证应用可以在新硬件平台正常的运行,一般要在源代码的基础上进行一些修改。
     系统移植是让安卓操作系统在某特定的硬件平台上运行。它要求的条件是这个系统支持硬件平台的CPU架构,而且要让安卓可以识别平台上的各种硬件。工作主要由Linux内核完成。(cpu架构移植,Linux驱动移植)
     HAL指硬件抽象层。它位于第二层。在安卓中,应用程序在访问驱动是中间还有一层HAL。HAL的存在为了将Linux驱动业务逻辑放到HAL层,因为厂商不想开放源代码。统移植重点在与硬件抽象层(HAl).Andriod系统移植主要包括:移植Linux驱动和移植HAL;

1.3  查看内核版本的方法  方法一:在终端执行:uname -a

                           方法二:在终端执行:cat /proc/version

 

1.4  Linux的内核版本号由主版本号,次版本号,修订版本号,微调版本号,为特定的Linux系统特别调校的描述

1.5  如何学习驱动开发:准备一个自己熟悉的Linux操作系统,用于开发和测试Linux驱动

                                准备一块开发板

                                学习GNU C

                                学习相关硬件知识

                                不断的实践

1.6  Linux设备驱动的作用 Linux将存储器和外设分为三类:字符设备,块设备,网络设备

1.7  linux驱动实例:控制S3C6410开发板上的四个LED灯 (属于字符设备驱动)

1.8  Linux驱动只与Linux内核有关,与用户使用的Linux系统无关。学习Android驱动开发其实就是学习Linux驱动开发这是增加了一个HAL

http://www.cnblogs.com/lupengyong/

转载于:https://www.cnblogs.com/lupengyong/p/5438412.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值