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

    学习Android驱动开发,实际上就是学习Linux驱动开发,只是Android
    增加了一个HAL,这是Android特有的。当然HAL也不是必须的,通过NDK
    也可以直接访问Linux驱动,但google建议最好为Linux驱动编写对应的HAL程序库


    //////////////////////////////////////////////////////
    Android系统构架:
    Android系统构架分为4层
    第一层:Linux内核
    第二层:C/C++代码库
    第四层:应用程序


    ///////////////////////////////////////////////////////
    android系统移植需要考虑的问题
    (让操作系统在某特定硬件平台上运行)

    1.该操作系统支持硬件平台的cpu架构(因为android底层为 linux系统,本身可支持很多cpu架构,因此仅需稍微调整)

    2.让android系统可以识别并调用该平台上的硬件设备(需要1.移植Linux驱动2.需要移植HAL)

    ///////////////////////////////////////////////////////
    如何学习linux驱动开发:

    1.搭建linux系统开发环境

    2.掌握GNU C(是linux下最常用的C语言编译环境)

    3.一块合适的android开发板用来测试

    ////////////////////////////////////////////////////////


    Linux设备驱动:

    linux将存储器和外设分为3大类(1.字符设备2.块设备3.网络设备)
    字符设备:必须以串行顺序依次进行访问的设备
    块设备:可以用任意顺序进行访问

    http://www.cnblogs.com/zygoodest/

  • 相关阅读:
    .net core 2.0以上版本加载appsettings.json
    BZOJ 2564: 集合的面积
    P3829 [SHOI2012]信用卡凸包
    P2215 [HAOI2007]上升序列
    P2511 [HAOI2008]木棍分割
    P2510 [HAOI2008]下落的圆盘
    P4053 [JSOI2007]建筑抢修
    P4050 [JSOI2007]麻将
    P4049 [JSOI2007]合金
    P4161 [SCOI2009]游戏
  • 原文地址:https://www.cnblogs.com/zygoodest/p/5452055.html
Copyright © 2011-2022 走看看