• android深度探索第一章


    Android深度探索HAL与驱动开发的第一章学习了android系统移植与系统开发详述。

    正如书上的导言所说,,android已经成为当前智能手机操作系统的老大。所以其重要性可想而知,其学习的意义非比寻常。其发展的迅速,很大程度上取决于任何人都可以利用android的源代码定制完全属于自己的嵌入式系统,而不需要向Google交钱。而由于android原生的代码支持的设备不多,因此,要想在自己的设备(包括手机、智能电视、平板等)上完美运行android,就需要另外一些开发程序,使得android可以表示相应设备的硬件(显示器、蓝牙、音频等)。这个为特定设备定制android的过程被称为“移植”。同时在移植的过程中开发的最多的就是支持各种硬件设备的linux驱动程序。而第一张就是学习驱动的第一道门。

    首先是android系统架构,包括四层架构,第一层是linux内核,它与其他linux系统的核心部分差异很小。这一层主要包括linux驱动程序以及内存管理、进程管理、电源管理等程序。第二层是C/C++代码库,这一层主要包括使用C/C++编写的代码库,也包括dalivk虚拟机运行时(Runtime)。第三层是Android SDK API,这一层是用java编写的各种library。第四层是应用程序层,这一层是所有的android用户都要接触到的,因此这一层相当于androidui,所有的android应用程序都属于这一层,而这一层主要依靠第三次来完成各种功能。

    Android移植的主要工作分为系统移植和应用移植。除了linux驱动需要移植外,android系统中还增加了一个硬件抽象层。移植的工作如果要移植的android系统提供了驱动源代码,就很简单,反之会比较麻烦。

    Linux内核版本主要有三个可以通过两种方法识别。版本号的组成由主版本号,次版本号,修订版本号,微调版本号,特别的描述组成。由于内核版本更新较快,要想学会linux驱动开发,不但需要掌握可靠的知识,还应该不断的学习不断的努力。

    Linux设备驱动分为字符设备,块设备,网络设备。

    我的博客园地址

    http://www.cnblogs.com/liang0202/

  • 相关阅读:
    MFC 时钟 计算器 日期天数计算
    test10
    test9
    iOS 防止按钮快速点击造成多次响应的避免方法
    NSBundle读取图片 plist文件和txt文件
    按指定格式的子字符串,删除和分割字符串
    python批处理入门知识点
    命令行ffmpeg批量旋转视频
    NSData转化成十六进制字符串
    xcode里面使用Memory Leaks和Instruments检测内存泄漏
  • 原文地址:https://www.cnblogs.com/liang0202/p/5431882.html
Copyright © 2020-2023  润新知