zoukankan      html  css  js  c++  java
  • 安卓系统移植与驱动开发概述

         

       随着当前各种系统百花齐放,竞相发展,安卓系统占市场的份额已遥遥领先于其他系统,为使在各种设备上完美运行Android,我们可以学习基于Linux的Android驱动开发与移植,本章对Linux和Android做了一个比较系统的介绍,使我们更全面的了解Linux驱动,为我们进一步学习打下坚实的基础。

        学习Android驱动开发我们首先要了解Android系统构架,它主要包括:

        第一层:Linux内核

        主要包括Linux的驱动程序及内存管理、进程管理、电源管理等程序。Android使用Linux2.6作为其内核。

    第二层:c/c++代码库

    主要包括c/c++编写的代码库和Dalivk虚拟机的运行时

    第三层:Android SDK API

    也称为Java API层

    第四层:应用程序

    即指Android的UI,所有的Android用户都要接触,这一层要依靠Android SDK API来完成各种功能。

    其次我们要清楚Android系统一直的主要工作。Android移植可分为:应用移植和系统移植。应用移植是将Android系统构架中的应用程序移植到某一特定的硬件平台。系统移植是指让Android操作系统在某一特定硬件平台上运行。其首要条件就是该操作系统支持硬件平台的CPU构架,而且还必须让Android识别平台上的硬件,这主要由Linux内核完成。Android系统中还增加了硬件抽象层HAL,Linux驱动移植和HAL移植就是Android移植的主要工作。

    此外,在Android移植与驱动开发时,我们要了解适用于Android的Linux内核的版本即Linux2.6。本章还介绍了Linux设备驱动的发展与作用,设备的分类与特点等。

    最后,本章还通过一个实例用Linux驱动来控制开发板上的LED灯来加深我们对Linux驱动的认识。

    我们要通过学习CNU 及相关硬件知识,再加上大量实践和练习,一定可以学好Linux驱动开发的。

  • 相关阅读:
    C 获取编译日期函数
    C# HttpWebRequest 使用,一个Http分析Demo
    C# 字节序调整
    char/wchar_t之间的互转MultiByteToWideChar和WideCharToMultiByte的用法
    前导声明代替头文件依赖和交叉包含
    MFC network address control使用
    [收藏]POSIX标准
    带引用计数的智能指针
    C# string byte[] 转换
    DIV随鼠标滚动
  • 原文地址:https://www.cnblogs.com/soultel/p/5449594.html
Copyright © 2011-2022 走看看