• Android深度探索(卷一)HAL与驱动开发 第一章


    通过学习Android深度探索(卷一)HAL与驱动开发的第一章让我知道了Android的系统架构,Android系统移植的主要工作,Linux内核版本号的定义规则,设备驱动的作用及设备的分类和特点,并了解了如何学习Linux驱动开发。

    Android系统架构第一层:Linux内核,这一层主要包括Linux的驱动程序以及内存管理,进程管理,电源管理等程序;第二层:C/C++代码库,其中包括了HAL也是普通的Linux程序库(.so文件)其目的是使Android SDK通过HAL直接访问Linux驱动;第三层:Android SDK API,实际上就是用Java编写的各种library;第四层:应用程序,相当于Android UI是所有的Android用户都要接触到的,主要依靠第三层来完成各种功能。

    Android移植在很大程度上是Linux内核的移植其主要就是移植驱动程序。Android移植可分为应用移植和系统移植。应用移植是指将Android系统架构的第四层应用程序移植到某一个特定硬件平台上;系统移植是指让Android操作系统在某一个特定硬件平台上运行,不仅要支持CPU架构还要让Android识别平台上各种硬件,所以除了移植CPU架构外还要移植Linux驱动和移植HAL。

    Linux内核版本号由主版本号,次版本号,修订版本号,微调版本号,为特定的Linux系统特别调校的描述组成,查看Linux内核版本的方法有:

    1、在Linux终端下执行命令:uname -a;

    2、执行命令:cat /proc/version并且/proc不是普通文件系统而是系统内核的映像。

    驱动是直接和硬件交互的一类程序,负责对硬件进行抽象,针对的对象是存储器和外设。Linux的设备分为字符设备,块设备,网络设备。

  • 相关阅读:
    后缀数组-另辟蹊径
    Project Euler 不定期更新
    Educational Codeforces Round 93 (Rated for Div. 2)
    Codeforces Round #664 (Div. 2)
    lower_bound和upper_bound的用法
    Codeforces Round #663 (Div. 2)
    Codeforces Round #661 (Div. 3)
    质数笔记
    C++运算符的优先级
    图的构建
  • 原文地址:https://www.cnblogs.com/Avril-j/p/5418930.html
Copyright © 2020-2023  润新知