ANDROID嵌入式编程
作 者:[美] 罗杰·叶(Roger Ye) 著 师蓉 译
定 价:69
出 版 社:人民邮电出版社
出版日期:(咨询特价)年01月01日
页 数:275
装 帧:平装
ISBN:04
●目 录第 一部分 裸 机 编 程第 1章 嵌入式系统编程简介 31.1 什么是嵌入式系统 31.2 裸机编程 31.3 学习嵌入式系统编程 51.4 嵌入式系统的软件层 61.5 工具和硬件平台 91.6 虚拟硬件和真正的硬件之间的区别 91.7 小结 10第 2章 Android模拟器内部 112.1 虚拟硬件概述 112.2 Android虚拟设备的配置 122.3 硬件接口 142.4 串口 152.5 定时器 162.6 小结 20第3章 开发环境的设置 213.1 主机和客户端环境 213.2 开发环境的设置 223.3 并安装Android SDK 223.4 为ARM并安装GNU工具链 233.5 集成开发环境 243.6 用户的第 一个ARM程序 243.7 构建二进制文件 263.8 在Android模拟器中运行 273.9 示例项目的makefile 303.10 小结 31第4章 链接器脚本和内存映射 324.1 内存映射 324.2 链接器 334.2.1 符号解析 344.2.2 重定位 374.2.3 段合并 404.2.4 段布局 414.3 链接器脚本 424.3.1 链接器脚本示例 434.4 RAM中数据的初始化 454.4.1 指定加载地址 474.4.2 将.data复制到RAM中 474.5 小结 49第5章 使用C语言 505.1 裸机环境中的C启动 505.1.1 堆栈 525.1.2 全局变量 535.1.3 只读数据 545.1.4 启动代码 545.2 调用约定 615.2.1 从汇编语言代码中调用C函数 625.2.2 从C代码调用汇编语言函数 645.3 Goldfish串口支持 645.3.1 检查数据缓冲区 685.3.2 数据输入和输出 695.3.3 串口函数的单测试 705.4 小结 72第6章 使用C库 736.1 C库的变体 736.1.1 操作系统中的C库变体 736.1.2 裸机环境中的C库变体 746.2 Newlib C库 756.3 通用启动代码序列 766.4 CS3链接器脚本 766.5 Goldfish平台的自定义CS启动代码 816.6 系统调用实现 816.7 运行并调试库 876.8 在QEMU ARM半主机中使用Newlib 916.8.1 Newlib C中的半主机支持 916.8.2 半主机示例代码 916.9 小结 95第7章 异常处理和定时器 967.1 Goldfish中断控制器 967.2 最简单的中断处理程序 987.2.1 中断支持函数 997.2.2 最简单中断处理程序的实现 1017.3 嵌套中断处理程序 1087.3.1 嵌套中断处理程序的实现 1097.3.2 测试嵌套中断并探讨处理器模式转换 1187.4 测试系统调用/软件中断 1267.5 定时器 1277.5.1 Goldfish特有的定时器函数 1317.5.2 U-Boot API 1317.6 实时时钟 1327.6.1 定时器和RTC的单测试 1337.7 小结 139第8章 Goldfish中的NAND闪存支持 1408.1 Android文件系统 1408.2 NAND闪存属性 1428.3 Goldfish平台中的NAND闪存编程接口 1438.4 内存技术设备支持 1448.5 MTD API 1458.5.1 支持NAND闪存的U-Boot API 1568.5.2 Goldfish NAND闪存驱动程序函数 1568.6 NAND闪存编程接口测试程序 1578.6.1 来自Linux内核的NAND闪存信息 1578.6.2 NAND闪存测试程序 1608.7 小结 164第二部分 U-Boot第9章 U-Boot移植 1679.1 U-Boot简介 1679.2 并编译U-Boot 1689.3 使用GDB调试U-Boot 1719.4 将U-Boot移植到Goldfish平台中 1749.4.1 创建一个新板 1749.4.2 针对处理器的修改 1759.4.3 针对板的修改 1769.4.4 设备驱动程序修改 1839.5 小结 188第 10章 使用U-Boot引导Goldfish 内核 19010.1 构建goldfish内核 19010.2 内置工具链和内核源代码 19110.3 在模拟器中运行并调试内核 19210.4 从NOR闪存启动Android 19410.4.1 创建RAMDISK映像 19610.4.2 创建闪存映像 19710.4.3 启动闪存映像 19810.4.4 闪存映像的源级调试 20310.5 从NAND闪存启动Android 20710.5.1 准备system.img 20710.5.2 从NAND闪存启动 20810.6 小结 214第三部分 Android系统集成第 11章 创建自己的AOSP和 CyanogenMod 21711.1 AOSP和CyanogenMod简介 21711.2 创建Android虚拟设备 21811.3 AOSP Android模拟器构建 22111.3.1 AOSP构建环境 22111.3.2 AOSP源 22211.3.3 构建AOSP Android模拟器映像 22311.3.4 测试AOSP映像 22511.4 CyanogenMod Android模拟器构建 22911.4.1 CyanogenMod源 22911.4.2 构建CyanogenMod Android模拟器映像 23011.4.3 测试CyanogenMod映像 23311.5 小结 237第 12章 定制Android并创建自己的 Android ROM 23812.1 在AOSP中支持新硬件 23812.1.1 使用AOSP构建内核 24512.1.2 使用AOSP构建U-Boot 24812.1.3 使用U-Boot从NAND闪存启动Android 24912.2 在CyanogenMod中支持新硬件 25612.2.1 使用CyanogenMod构建内核 25812.2.2 构建U-Boot并启动CyanogenMod 26012.3 小结 261第四部分 附 录附录A 构建本书的源代码 265A.1 设置构建环境 265A.2 创建虚拟机 267A.3 源代码的组织 267A.4 第 一部分的源代码 268A.4.1 从命令行构建并测试 268A.4.2 在Eclipse中构建并测试 269A.5 第二部分的源代码 272A.6 第三部分的源代码 273A.6.1 构建AOSP 274A.6.2 构建CyanogenMod 274附录B 在本书中使用Repo 276B.1 Repo的资源 276B.2 几分钟内同步一个新的源树 276B.3 使用local manifestgit仓库 277
内容简介
本书主要介绍Android嵌入式系统编程的相关内容,通过讲解裸机编辑、启动加载程序、构建Android系统等知识点,旨在帮助读者夯实编程知识,掌握Android嵌入式系统的开发、编译及调试技巧。本括三部分内容。靠前部分重点介绍裸机编程,主要介绍底层开发和Android系统编程的基本原理,涵盖使用U-Boot启动Linux内核所必需的硬件接口,裸机编程环境中串口的硬件接口编程、实时时钟、NAND闪存控制器等内容。第二部分介绍将U-Boot移植到Goldfish平台的方法。第三部分则完成使用虚拟设备为Android设备构建定制的ROM的实现。本书适合有一定经验的从事Android系统开发的开发人员参考,也适合想要探索Android底层开发知识的计算机专业学生阅读。
[美] 罗杰·叶(Roger Ye) 著 师蓉 译
Roger Ye是一名对嵌入式系统及其相关技术有着极大兴趣的嵌入式系统程序员。他曾经在摩托罗拉、埃莫森和英特尔担任工程经理。在摩托罗拉和埃莫森工作时,他参与了移动设备和电信基础设施的嵌入式系统项目。现在他是英特尔安全支持部门的工程经理,领导着开发Android应用程序的团队。