zoukankan      html  css  js  c++  java
  • Android系统级深入开发——移植与调试

    Android系统级深入开发——移植与调试

    1 Android系统移植开发概述

    1.1 Android系统架构和生态系统

    1.1.1 Android软件系统
    1.1.2 Android的生态系统

    1.2 Android移植的概念和方法

    1.3 Android移植的主要工作

    2 Android源代码和开发环境

    2.1 开发环境和工具

    2.2 Android的代码库

    2.3 Android系统代码和编译

    2.3.1 获取Android源代码
    2.3.2 Android源代码结构
    2.3.3 编译Android系统源代码
    2.3.4 编译Android结果

    2.4 Android Kernel代码和编译

    2.4.1 Goldfish内核源代码
    2.4.2 MSM内核源代码
    2.4.3 Omap内核源代码

    2.5 仿真器的运行环境

    2.5.1 仿真器的运行
    2.5.2 使用附加工具

    3 Android系统移植的结构和方法

    3.1 Android的Linux操作系统

    3.1.1 标准的Linux操作系统
    3.1.2 Android对Linux内核的使用
    3.1.3 Linux内核空间到用户空间的接口
    3.1.4 平台数据和平台驱动

    3.2 Android的硬件抽象层

    3.2.1 硬件抽象层的地位和功能
    3.2.2 硬件抽象层接口方式

    3.3 Android中各个部件的移植方式

    3.4 辅助性工作和基本调试方法

    3.4.1 移植的辅助性工作
    3.4.2 调试的方法

    4 Android的GoldFish内核和驱动

    4.1 GoldFish内核概述

    4.2 GoldFish体系结构移植

    4.3 GoldFish的Android专用驱动和组件

    4.3.1 wakelock和earlysuspend
    4.3.2 staging中的驱动程序
    4.3.3 Ashmem驱动程序
    4.3.4 Alarm驱动程序
    4.3.5 pmem驱动程序
    4.3.6 ADB Garget驱动程序
    4.3.7 Android Paranoid网络

    4.4 GoldFish的相关设备驱动

    4.4.1 Framebuffer的驱动程序
    4.4.2 键盘的驱动程序
    4.4.3 实时时钟的驱动程序
    4.4.4 TTY终端的驱动程序
    4.4.5 NandFlash的驱动程序
    4.4.6 MMC的驱动程序
    4.4.7 电池的驱动程序
    4.4.8 EAC音频的驱动程序

    5 Android的MSM内核和驱动

    5.1 MSM处理器概述

    5.1.1 MSM概述
    5.1.2 MSM适用于Android的Linux内核的结构

    5.2 MSM体系结构的移植

    5.3 MSM的Android专用驱动和组件

    5.4 MSM的mahimahip平台的主要设备驱动

    5.4.1 显示的驱动程序
    5.4.2 触摸屏的驱动程序
    5.4.3 按键和轨迹球的驱动程序
    5.4.4 实时时钟的驱动程序
    5.4.5 摄像头的驱动程序
    5.4.6 无线局域网的驱动程序
    5.4.7 蓝牙的驱动程序
    5.4.8 DSP相关的驱动程序
    5.4.9 高通特有的组件相关内容

    6 Android的OMAP内核和驱动

    6.1 OMAP内核概述

    6.1.1 OMAP概述
    6.1.2 OMAP适用于Android的Linux内核的结构

    6.2 OMAP体系结构的移植

    6.2.1 OMAP平台部分的移植
    6.2.2 OMAP处理器部分的移植

    6.3 OMAP的Android专用驱动和组件

    6.4 OMAP的主要设备驱动

    6.4.1 显示的驱动程序
    6.4.2 摄像头和视频输出的驱动程序
    6.4.3 i2c总线驱动程序
    6.4.4 键盘的驱动程序
    6.4.5 触摸屏的驱动程序
    6.4.6 实时时钟的驱动程序
    6.4.7 音频的驱动程序
    6.4.8 蓝牙的驱动程序
    6.4.9 以太网的驱动程序
    6.4.10 DSP的驱动程序

    7 显示系统

    7.1 显示系统结构和移植内容

    7.1.1 Donut及其之前显示系统的结构
    7.1.2 Eclair及其之后显示系统的结构
    7.1.3 移植的内容

    7.2 移植和调试的要点

    7.2.1 Framebuffer驱动程序
    7.2.2 Donut及其之前的硬件抽象层
    7.2.3 Eclair及其之后的硬件抽象层

    7.3 显示部分模拟器的实现方式

    7.3.1 Goldfish的framebuffer驱动程序
    7.3.2 默认的Gralloc模块的实现

    7.4 MSM中的实现

    7.4.1 MSM的framebuffer驱动程序
    7.4.2 MSM的Gralloc模块的实现

    7.5 OMAP中的实现

    7.5.1 OMAP的framebuffer驱动程序
    7.5.2 OMAP的用户空间的实现

    8 用户输入系统

    8.1 用户输入系统结构和移植内容

    8.1.1 用户输入系统的结构
    8.1.2 移植的内容

    8.2 移植的要点

    8.2.1 input驱动程序
    8.2.2 用户空间的处理
    8.2.3 移植需要注意的情况

    8.3 模拟器中的实现

    8.3.1 驱动程序
    8.3.2 用户空间的配置文件

    8.4 MSM中的实现

    8.4.1 触摸屏,轨迹球和按键驱动程序
    8.4.2 用户空间的配置文件

    8.5 OMAP中的实现

    8.5.1 触摸屏和键盘的驱动程序
    8.5.2 用户空间的配置文件

    8.6 虚拟按键的实现

    9 传感器系统

    9.1 传感器系统结构和移植内容

    9.1.1 传感器系统的结构
    9.1.2 移植的内容

    9.2 移植和调试的要点

    9.2.1 驱动程序
    9.2.2 硬件抽象层的内容
    9.2.3 上层的情况和注意事项

    9.3 模拟器中的实现

    10 音频系统

    10.1 音频系统结构和移植内容

    10.1.1 音频系统的结构
    10.1.2 移植的内容

    10.2 移植和调试的要点

    10.2.1 Audio驱动程序
    10.2.2 硬件抽象层的内容
    10.2.3 Audio策略管理的内容
    10.2.4 上层的情况和注意事项

    10.3 通用的Audio系统实现

    10.3.1 用桩实现的Audio硬件抽象层
    10.3.2 提供Dump功能的Audio硬件抽象层
    10.3.3 通用的Audio硬件抽象层

    10.4 MSM系统的实现

    10.4.1 Audio驱动程序
    10.4.2 Audio硬件抽象层

    10.5 基于OSS和ALSA的实现方式

    10.5.1 OSS驱动程序
    10.5.2 基于OSS的硬件抽象层
    10.5.3 ALSA驱动程序
    10.5.4 基于ALSA的硬件抽象层

    11 视频输出系统

    11.1 视频输出系统结构和移植内容

    11.1.1 视频输出系统的结构
    11.1.2 移植的内容

    11.2 移植和调试的要点

    11.2.1 驱动程序
    11.2.2 硬件抽象层的内容
    11.2.3 上层的情况和注意实现

    11.3 Overlay硬件抽象层实现的框架

    11.4 OMAP系统的实现

    11.4.1 OMAP的视频输出部分的驱动程序
    11.4.2 OMAP Overlay硬件抽象层

    12 照相机系统

    12.1 照相机系统结构和移植内容

    12.1.1 照相机系统的结构
    12.1.2 移植的内容

    12.2 移植和调试的要点

    12.2.1 Video for 4Linux驱动程序
    12.2.2 硬件抽象层的内容
    12.2.3 上层的情况和注意事项
    12.2.4 照相机系统的数据流情况

    12.3 Camera硬件抽象层桩实现

    12.4 MSM平台的Camera实现

    12.4.1 MSM平台的Camera驱动程序
    12.4.2 MSM平台的Camera硬件抽象层

    12.5 OMAP平台的Camera实现

    12.5.1 OMAP平台的Camera驱动程序
    12.5.2 OMAP平台的Camera硬件抽象层

    13 无线局域网系统

    13.1 无线局域网系统结构和移植内容

    13.1.1 无线局域网系统的结构
    13.1.2 移植的内容

    13.2 移植和调试的要点

    13.2.1 协议和驱动程序
    13.2.2 用户空间的内容
    13.2.3 上层的情况和调试方法

    13.3 OMAP系统的无线局域网实现

    13.3.1 Linux内核中的内容
    13.3.2 用户空间的实现

    14 蓝牙系统

    14.1 蓝牙系统结构和移植内容

    14.1.1 蓝牙系统的结构
    14.1.2 移植的内容

    14.2 移植和调试的要点

    14.2.1 驱动程序
    14.2.2 本地代码的配置部分
    14.2.3 上层的情况和调试方法

    14.3 MSM系统的蓝牙实现

    14.3.1 驱动部分
    14.3.2 用户空间的部分

    15 定位系统

    15.1 定位系统的系统结构和移植内容

    15.1.1 定位系统的系统结构
    15.1.2 移植的内容

    15.2 移植和调试的要点

    15.2.1 驱动程序
    15.2.2 硬件抽象层
    15.2.3 上层的情况和调试方法

    15.3 仿真器的GPS硬件适配层实现

    15.4 MSM平台的GPS硬件适配层实现

    16 电话系统

    16.1 电话系统结构和移植内容

    16.1.1 电话系统的系统结构
    16.1.2 移植的内容

    16.2 移植和调试的要点

    16.2.1 驱动程序
    16.2.2 RIL实现库的接口
    16.2.3 数据连接部分
    16.2.4 调试方法

    16.3 电话部分的RIL参考实现

    16.3.1 端口初始化
    16.3.2 AT命令处理流程
    16.3.3 Event模块
    16.3.4 Modem AT命令初始化
    16.3.5 请求和响应流程的处理
    16.3.6 特定命令类型的实现

    17 OpenGL 3D引擎

    17.1 OpenGL系统结构和移植内容

    17.1.1 OpenGL系统的结构
    17.1.2 移植的内容

    17.2 移植和调试的要点

    17.2.1 OpenGL移植层的接口
    17.2.2 上层的情况和OpenGL的调试

    17.2 Android软件OpenGL的实现

    17.3 不同系统中的实现

    18 OpenMax多媒体引擎

    18.1 OpenMax系统结构和移植内容

    18.1.1 OpenMax系统的结构
    18.1.2 Android OpenMax实现的内容

    18.2 OpenMax的接口与实现

    18.2.1 OpenMax IL层的接口
    18.2.2 OpenMax IL实现的内容
    18.2.3 Android中OpenMax的适配层

    18.3 OMAP平台OpenMax IL的硬件实现

    18.3.1 TI OpenMax IL实现的结构和机制
    18.3.2 TI OpenMax IL的核心和公共内容
    18.3.3 一个TIOpenMax IL组件的实现

    19 多媒体系统的插件

    19.1 Android多媒体相关结构与移植内容

    19.1.1 多媒体处理过程
    19.1.2 移植的内容

    19.2 OpenCore引擎的结构和插件

    19.2.1 OpenCore的结构
    19.2.2 OpenCore的Node插件机制
    19.2.3 OpenMax部分的结构、实现和插件结构
    19.2.4 关于媒体输入输出类MedialO
    19.2.5 OpenCore Player的视频显示部分插件

    19.3 Stagefright引擎的结构和插件

    19.3.1 Stagefright系统结构
    19.3.2 Stagefright对Android中OpenMax接口的实现
    19.3.3 MediaSource插件机制
    19.3.4 OpenMax和VideoRenderer插件机制

    19.4 OMAP平台实现的插件

    19.4.1 OpenCore的OpenMax插件
    19.4.2 OpenCore的视频输出插件
    19.4.3 Stagefright的OpenMax和视频输出插件

    20 位块复制系统

    20.1 位块复制结构和移植内容

    20.1.1 位块复制系统的结构
    20.1.2 移植内容

    20.2 移植和调试的要点

    20.2.1 驱动程序
    20.2.2 硬件抽象层的内容
    20.2.3 上层的情况和注意事项

    20.3 MSM平台中的实现

    21 警报器——实时时钟系统

    21.1 警报器——实时时钟结构和移植内容

    21.1.1 警报器——实时时钟系统的结构
    21.1.2 移植内容

    21.2 移植与调试的要点

    21.2.1 RTC驱动程序
    21.2.2 Alarm驱动程序
    21.2.3 上层的情况和注意事项

    21.3 模拟器环境中的实现

    21.4 MSM平台的实现

    22 光系统

    22.1 光系统结构和移植内容

    22.1.1 光系统部分的结构
    22.1.2 移植内容

    22.2 移植与调试的要点

    22.2.1 驱动程序
    22.2.2 硬件抽象层的内容
    22.2.3 上层的情况和注意事项

    22.3 MSM中的实现

    22.3.1 驱动程序
    22.3.2 硬件抽象层

    23 振动器系统

    23.1 振动器系统结构和移植内容

    23.1.1 振动器部分的结构
    23.1.2 移植内容

    23.2 移植与调试的要点

    23.2.1 驱动程序
    23.2.2 硬件抽象层的内容
    23.2.3 上层的情况和注意事项

    23.3 MSM中的实现

    24 电池系统

    24.1 电池系统结构和移植内容

    24.1.1 电池系统部分的结构
    24.1.2 移植内容

    24.2 移植和调试的要点

    24.2.1 驱动程序
    24.2.2 上层的情况和注意事项

    24.3 模拟器中的实现

    思维导图

    Android系统级深入开发——移植与调试

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b3ef2e4b02bc3ad6a2540.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b3ef2e4b02bc3ad6a253d

  • 相关阅读:
    .net基础学java系列(一)视野
    技术栈
    Apollo(阿波罗)携程开源配置管理中心
    .NET 动态调用WCF
    RPC 工作原理
    ServiceStack 简单使用
    PRC 框架选择
    栈vs堆,最详细的对比
    使用SuperSocket打造逾10万长连接的Socket服务
    开源项目练习EF+jQueryUI前后端分离设计
  • 原文地址:https://www.cnblogs.com/jingle1267/p/13171914.html
Copyright © 2011-2022 走看看