zoukankan      html  css  js  c++  java
  • Android深度探索(卷1)HAL与驱动开发学习笔记(1)

    第一章Android系统移植与驱动开发概述

        Android的系统架构分为四层:Linux内核(Android使用Linux2.6作为内核)、C/C++代码库、Android SDK APIJAVA编写的Library、应用程序。

        Android移植分为系统移植和应用移植,Android的系统移植中,Android在不同的cpu架构之间不需要做过多的改动(有时仍需要一些调整),为了可以让Android支持不同的硬件平台,还需要进行Linux驱动移植。Android系统中还增加了一个硬件抽象层HALHardware Abstraction Layer),Android通过HAL访问Linux驱动。如果增加了新的驱动或对原先的驱动进行了更改,则需要对HAL进行更改。在进行Linux驱动移植的时候,主要考虑Linux内核版本,Linux内核版本相同驱动就可以相互替换(驱动与HAL兼容的情况下)。

    Linux内核版本的查看

    1.手机Android---设备---关于手机

    2.Linux内核版本查询

        方法一:uname -a

     

     方法二:cat /proc/version

     

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

         Linux将存储器和外设分为三大类,字符设备、块设备、网络设备。Linux内核与网络设备的通信与字符设备和块设备的通信方式完全不同,网络设备面向数据包的接收和发送而设计。可以将字符设备和块设备归为一类,它们都是可以顺序/随机地进行读取和存储的单元,网络设备是特殊设备的驱动,它负责接收和发送帧数据,可能是物理帧,也可能是ip数据包,这些特性都有网络驱动决定。

  • 相关阅读:
    在宏块级冗余可调的多描述视频编码算法方面取得进展(转载)
    C++单例模式
    C++手动实现库函数
    C#操作java平台生成的公钥
    C++之位操作符
    Windows 8 应用栏
    Windows 8 本地数据存储
    Win8的页面缓存
    操作符sizeof
    three.js结合geoJson绘制中国地图
  • 原文地址:https://www.cnblogs.com/zhangnene/p/5408677.html
Copyright © 2011-2022 走看看