首页>参考读物>计算机科学与技术>综合

Android嵌入式系统程序开发(基于Cortex-A8)
作者 : 胡文 宁世勇 李明俊 金雪松 编著
出版日期 : 2013-03-28
ISBN : 978-7-111-41169-7
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 447
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

从ARM的硬件方面介绍ARM微处理器结构、S3C6410硬件结构、接口电路设计及编程;从Android软件方面介绍Android体系结构,搭建开发环境, Android系统移植;编写Android界面程序和驱动程序,设计Android应用案例。

图书特色

国内首本汇集底层驱动、中间层JNI制作和上层UI接口设计于一体的著作。通过丰富的实验程序、完整的项目实例,帮助你快速提高嵌入式硬件与Android的开发能力。

Android嵌入式系统程序开发
(基于Cortex-A8)
胡文 宁世勇 李明俊 金雪松 编著

封底:
高通公司董事长兼首席执行官保罗·雅格布用“生而移动”来表述扑面而来的移动互联网浪潮。对于嵌入式开发工程师来说,能否在最短的时间里掌握适应未来移动世界的电子开发技能,决定着其未来职业发展方向和自身价值体现。熟悉并掌握ARM体系结构和Android平台的开发技能是两大必备的基础条件,而能够将两者的技术精髓吃透并熟练运用,则是高手中的高手。这是一本具有典型实战色彩的工具书,它以Android应用程序开发作为开篇,进而引入ARM Cortex-A8硬件平台的移植,最后以若干项目开发实例巩固前面的软硬件知识。因此,这是一本能够指导嵌入式开发工程师快速掌握移动开发的有用书籍。
—— 于寅虎 《电子产品世界》杂志社总编

作为基于Linux内核的自由及开放源代码的操作系统,Android系统采用了分层的系统体系结构,这就使得基于Android的开发不仅只是应用层的开发,还会涉及底层系统移植及驱动程序的开发。本书由浅入深地覆盖了从Android应用层到内核驱动开发的核心内容,并基于最新的Cortex-A系列的硬件平台详细阐述。本书有理论更注重实践,是系统学习Android开发的很好选择。
—— 季久峰  华清远见教育集团总裁 

前:
本书以嵌入式操作系统Android和Cortex-A8微处理器S5PV210为基础,从Android体系结构和搭建开发环境,以及Android应用程序开发等方面构造了一个完整的Android开发流程。本书介绍了S5PV210硬件结构和Android系统移植,详细讲解了底层驱动封装、中间层JNI 制作以及上层UI接口设计,采用Java开发接口驱动程序。本书提供完整的综合应用项目的程序开发实例,不仅介绍了功能模块设计和数据库设计,还详细讲解了开发过程和源代码。
本书通过大量的实验程序、完整的项目实例,帮助读者深刻理解和掌握嵌入式系统开发的整个过程。通过学习本书,读者可以了解底层驱动程序驱动硬件的原理和上层应用程序设计方法,真正掌握底层驱动开发与上层应用程序开发相结合的综合技能。
作者简介
胡 文 大学计算机系教授,多年从事Windows CE和Android嵌入式系统应用研究, 精通单片机系统开发和嵌入式终端开发,所开发的嵌入式组态软件、嵌入式访问数据库软件和嵌入式终端等已应用于多个领域。

图书前言

本书的特点是以嵌入式操作系统Android和Cortex-A8微处理器S5PV210为基础,从Android 体系结构和搭建开发环境,以及Android应用程序开发等方面构造了一个完整的Android 开发流程。本书重点介绍了S5PV210硬件结构和Android系统移植,详细讲解了底层驱动的封装、中间层jni的制作,以及上层UI的设计,采用Java开发接口驱动程序。本书还提供了完整的综合应用项目的程序开发实例,介绍了功能模块设计和数据库设计,详细讲解了开发过程和原始程序代码;使读者深刻理解和掌握嵌入式系统开发的整个过程,了解底层驱动程序驱动硬件的原理和上层应用程序的设计方法,真正做到了底层驱动的开发与上层应用程序的开发相结合。
  本书内容丰富实用、叙述详尽清晰,方便教学与自学。结合DMA-210XP平台的实验程序,有利于读者掌握Android系统的应用程序设计方法,培养读者综合分析、开发创新和工程设计的能力。通过本书的学习,读者可以快速提高Android的编程能力和实际开发水平。
  全书分三部分,共9章。
  第一部分:软件篇
  第1章介绍了Android的体系结构,以及Android系统的整体架构的各层组成,并介绍了如何搭建Windows、Linux和NDK 下的开发环境。
  第2章介绍了第一个HelloEveryone 的Android应用程序,以及Android应用程序组成,并介绍如何使用Android Manifest文件定义应用程序。
  第3章介绍了Android应用程序开发过程中涉及的控件,介绍了Activity转换和Intent消息传递、Menu设计修改、对话框实例和Android本地数据库SQLite应用。
  第二部分:硬件篇
  第4章详细介绍了Android 内核结构和设备驱动、Android 内核基本配置、Android内核编译和DMA-210XP平台Android文件系统烧写过程。
  第5章介绍了S5PV210的硬件结构,包括S5PV210微处理器、GPIO接口、PWM定时器、DMA控制器、UART串行接口、SPI接口、IIC总线接口和ADC及触摸屏接口。介绍了接口应用实例及驱动程序。
  第6章介绍了在Android开发环境下,采用Java编写接口驱动程序。包括LED接口及驱动程序、背光调节控制程序、键盘接口及驱动程序、UART串行口及通信程序、ZigBee接口及驱动程序、Wi-Fi接口及通信程序、3G接口及驱动程序、MediaPlayer播放器程序等。
  第三部分:项目篇
  第7章介绍了嵌入式组态软件结构,以及界面设计、功能选择区设计、辅助功能区设计和程序生成区设计Android应用,采用Java开发嵌入式组态软件。
  第8章以MyMap服务系统为实例,介绍Android Google Map、Android定位服务、案例重构,采用Java开发GPS与Google Map定位应用程序。
  第9章以3D传感器动力球游戏为例,介绍小球快跑游戏背景及功能、游戏的架构,详细讲解了游戏主菜单、游戏界面模块,游戏中各个图层、游戏后台逻辑和传感器计算模块等的程序开发。
  本书由胡文教授拟定编写大纲和目录。胡文编写了第6章和第7章,宁世勇编写了第2章和第3章,李明俊编写了第1章、第8章和第9章,金雪松编写了第4章和第5章。百度公司的胡玥,哈尔滨商业大学的李杨、赵艳丽、张凯、陈楠等人为本书的编写做了大量的工作,在此一并表示衷心感谢。本书在编写过程中,参考了大量的国内外著作和资料,得到了许多专家和学者的大力支持,并听取了多方面的宝贵意见和建议,在此也对他们表示衷心感谢。
  由于时间仓促和作者水平所限,本书难免有疏漏和不足之处,敬请各位读者批评指正,以期再版时修订。

编者
2013年1月

上架指导

计算机\嵌入式编程

封底文字

高通公司董事长兼首席执行官保罗.雅格布用“生而移动”来表述扑面而来的移动互联网浪潮。对于嵌入式开发工程师来说,是否能在最短的时间里掌握适应未来移动世界的电子开发技能,决定着其未来职业发展和自身价值体现。熟悉并掌握ARM架构和Android平台的开发技能是两大必备的基础条件,而能够将两者的技术精髓吃透并能熟练运用,则是高手中的高手。这是一本具有典型实战色彩的有工具书,它以Android应用程序开发作为开篇,进而引入ARM Cortex-A8硬件平台的移植,最后以若干项目开发实例巩固上面的软硬件知识。故,这是一本能够指导电子应用设计工程师快速掌握移动开发的有用书籍。
----《电子产品世界》杂志社总编  于寅虎
作为基于Linux内核的、自由及开放源代码的操作系统,Android系统采用了分层的系统架构,这就使得基于Android的开发不仅仅只是应用层的开发,还会涉及底层系统移植及驱动程序的开发。本书由浅入深的覆盖了从Android应用层到内核驱动开发的核心内容,并基于最新的Cortex-A系列的硬件平台,有理论更注重实践的写作方式,是系统学习Android开发的很好选择。                  ----华清远见教育集团总裁  季久峰

作者简介

胡文 宁世勇 李明俊 金雪松 编著:暂无简介

图书目录

前言
软件篇
第 1 章 Android体系结构及开发环境 / 2
1. 1 Android体系结构介绍 / 2
1. 1. 1 应用程序 / 3
1. 1. 2 应用程序框架 / 3
1. 1. 3 函数库 / 4
1. 1. 4 Linux内核 / 4
1. 2 搭建Windows下的开发环境 / 5
1. 2. 1 安装JDK / 5
1. 2. 2 安装Eclipse / 6
1. 2. 3 安装ADT / 6
1. 2. 4 安装SDK / 7
1. 2. 5 创建Android虚拟设备 / 9
1. 3 搭建Linux下的开发环境 / 11
1. 3. 1 安装JDK / 11
1. 3. 2 安装Eclipse / 12
1. 3. 3 安装ADT / 13
1. 3. 4 安装SDK / 15
1. 3. 5 创建Android虚拟设备 / 17
1. 4 搭建NDK开发环境 / 20
1. 4. 1 NDK开发环境与安装目录 / 20
1. 4. 2 系统和软件需求 / 20
1. 4. 3 Windows 平台NDK环境搭建 / 21
1. 4. 4 Linux平台NDK环境搭建 / 25
第2章 第一个应用程序 / 28
2. 1 第一个HelloEveryone / 28
2. 1. 1 创建第一个Android项目HelloEveryone / 28
2. 1. 2 Android应用工程组成 / 29
2. 2 调试Android应用程序 / 30
2. 2. 1 修改Android项目 / 30
2. 2. 2 设置断点 / 34
2. 2. 3 启动调试 / 34
2. 2. 4 单步跟踪 / 34
2. 2. 5 真机调试 / 35
2. 3 Android应用程序组成 / 35
2. 3. 1 Activity介绍 / 36
2. 3. 2 Intent介绍 / 40
2. 3. 3 Broadcast Receiver介绍 / 43
2. 3. 4 Service介绍 / 43
2. 3. 5 Content Provider介绍 / 44
2.4 使用AndroidManifest文件定义应用程序 / 44
2. 4. 1 管理应用程序身份 / 46
2. 4. 2 注册Activity和其他应用程序组件 / 46
2. 4. 3 使用许可权限 / 48
2. 4. 4 指定应用程序所需输入设备和软件 / 49
2. 4. 5 使用库和Android SDK版本 / 50
2. 4. 6 定义应用程序的其他配置参数 / 50
第3章 Android应用程序开发 / 51
3. 1 控件简介 / 51
3. 1. 1 视图控件 / 51
3. 1. 2 布局控件 / 51
3. 1. 3 布局参数 / 51
3. 2 常用Widget控件介绍 / 52
3. 2. 1 用Widget控件创建Android项目 / 52
3. 2. 2 按钮 / 53
3. 2. 3 文字框 / 54
3. 2. 4 编辑框 / 55
3. 2. 5 多项选择框 / 57
3. 2. 6 单项选择框 / 59
3. 2. 7 下拉列表 / 60
3. 2. 8 自动完成文本 / 61
3. 2. 9 日期、时间选择器 / 62
3. 2. 10 进度条 / 64
3. 2. 11 拖动条 / 65
3. 2. 12 图片视图 / 66
3. 2. 13 基于网格索引的图片浏览器 / 67
3. 2. 14 选项卡 / 70
3. 2. 15 列表 / 72
3. 2. 16 图片按钮 / 73
3. 2. 17 拖动效果 / 74
3. 3 Activity转换和Intent消息传递 / 76
3. 3. 1 Activity转换 / 76
3. 3. 2 Intent消息传递 / 78
3. 4 Menu设计修改 / 80
3. 5 对话框实例 / 82
3. 6 Toast和Notification应用 / 85
3. 7 数据库应用 / 87
3. 7. 1 SQLite数据库介绍 / 87
3. 7. 2 Android平台对SQLite数据库的支持 / 88
3. 7. 3 SQLite数据库应用模式 / 89
3. 7. 4 SQLite数据库开发实例 / 90
3. 7. 5 基于SQLite数据库的日记账工具 / 97
硬件篇
第4章 Android系统移植 / 112
4. 1 Android 结构介绍 / 112
4. 2 Android 内核结构和设备驱动 / 113
4. 2. 1 Android内核源代码结构 / 113
4. 2 .2 Android常用设备驱动 / 115
4. 3 Android 内核基本配置 / 121
4. 3. 1 Android内核中的Kconfig文件 / 122
4. 3. 2 Android内核配置选项 / 122
4. 4 Android内核编译 / 125
4. 4. 1 Android内核中的Makefile文件 / 126
4. 4. 2 解压Android内核源代码 / 127
4. 4. 3 编译Android 内核 / 127
4. 5 DMA-210XP平台Android文件系统烧写 / 128
4. 5. 1 烧写u-boot到Nand Flash / 128
4. 5. 2 烧写zImage内核映像文件 / 131
4. 5. 3 烧写ramdisk-uboot.img映像文件 / 132
4. 5. 4 烧写Android System.img文件 / 132
4. 5. 5 烧写Android userdata.img文件 / 133
4. 5. 6 启动Android系统 / 133
4. 5. 7 TF卡自动更新kernel和Android系统文件 / 134
第5章 S5PV210硬件结构 / 135
5. 1 S5PV210微处理器 / 135
5. 1. 1 概述 / 135
5. 1. 2 S5PV210体系结构 / 135
5. 1. 3 S5PV210关键特性 / 135
5. 2 GPIO接口 / 146
5. 2. 1 GPIO概述 / 146
5. 2. 2 GPIO专用寄存器 / 147
5. 2. 3 GPIO接口应用举例 / 154
5. 3 PWM定时器 / 156
5. 3. 1 PWM概述 / 156
5. 3. 2 PWM操作 / 156
5. 3. 3 PWM专用寄存器 / 158
5. 3. 4 PWM接口应用举例 / 162
5. 4 DMA控制器 / 164
5. 4. 1 DMA概述 / 164
5. 4. 2 DMA专用寄存器 / 165
5. 5 UART串行接口 / 169
5. 5. 1 UART接口特性 / 169
5. 5. 2 UART操作 / 170
5. 5. 3 UART专用寄存器 / 173
5. 5. 4 UART接口应用举例 / 179
5. 6 SPI接口 / 183
5. 6. 1 SPI接口特性 / 183
5. 6. 2 SPI操作 / 183
5. 6. 3 SPI专用寄存器 / 185
5. 6. 4 SPI接口应用举例 / 190
5. 7 IIC总线接口 / 194
5. 7. 1 IIC概述 / 194
5. 7. 2 IIC操作 / 194
5. 7. 3 IIC专用寄存器 / 198
5. 7. 4 IIC接口应用举例 / 200
5. 8 ADC及触摸屏接口 / 203
5. 8. 1 ADC及触摸屏特性 / 204
5. 8. 2 功能描述 / 205
5. 8. 3 ADC及触摸屏专用寄存器 / 206
5. 8. 4 ADC 转换应用举例 / 210
第6章 接口驱动程序开发 / 212
6. 1 LED接口及驱动程序 / 212
6. 1. 1 LED驱动电路 / 212
6. 1. 2 LED驱动程序分析 / 215
6. 1. 3 LED驱动程序Makefile文件 / 218
6. 1. 4 LED驱动测试 / 218
6. 1. 5 LED界面设计 / 219
6. 1. 6 LED JNI设计 / 225
6. 1. 7 LED程序测试 / 228
6.2 背光调节控制程序 / 230
6. 2. 1 背光控制接口 / 230
6. 2. 2 背光驱动设计 / 233
6. 2. 3 背光界面设计 / 235
6. 2. 4 背光JNI设计 / 241
6. 2. 5 背光程序测试 / 243
6.3 键盘接口及驱动程序 / 244
6. 3. 1 键盘接口 / 244
6. 3. 2 内核驱动 / 249
6. 3. 3 键盘界面设计 / 253
6. 3. 4 键盘程序测试 / 258
6.4 UART串行接口及通信程序 / 258
6. 4. 1 UART串行接口 / 258
6. 4. 2 Linux串行接口操作 / 262
6. 4. 3 UART界面设计 / 263
6. 4. 4 UART JNI设计 / 272
6. 4. 5 UART程序测试 / 275
6.5 ZigBee接口及通信程序 / 276
6. 5. 1 ZigBee介绍 / 276
6. 5. 2 ZigBee接口设计 / 277
6. 5. 3 ZigBee JNI设计 / 291
6. 5. 4 ZigBee程序测试 / 296
6.6 Wi-Fi接口及通信程序 / 297
6. 6. 1 Wi-Fi介绍 / 297
6. 6. 2 Wi-Fi程序设计 / 300
6. 6. 3 Wi-Fi程序测试 / 307
6.7 3G接口及通信程序 / 307
6. 7. 1 3G介绍 / 308
6. 7. 2 3G程序设计 / 310
6. 7. 3 3G程序测试 / 315
6.8 MediaPlayer播放器程序 / 317
6. 8. 1 MediaPlayer介绍 / 317
6. 8. 2 MediaPlayer程序设计 / 320
6. 8. 3 MediaPlayer程序测试 / 327
项目篇
第7章 Android嵌入式组态软件 / 330
7. 1 Android嵌入式组态软件介绍 / 330
7. 2 Android嵌入式组态软件结构 / 330
7. 3 Android嵌入式组态软件界面设计 / 332
7. 3. 1 界面设计 / 332
7. 3. 2 界面内容添加 / 332
7. 4 Android嵌入式组态软件功能选择区设计 / 339
7. 4. 1 界面设计 / 340
7. 4. 2 IO设计 / 352
7. 4. 3 数据库设计 / 354
7. 5 Android嵌入式组态软件辅助功能区设计 / 359
7. 6 Android嵌入式组态软件程序生成区设计 / 360
7. 6. 1 Android嵌入式组态软件程序生成区功能介绍 / 360
7. 6. 2 Android嵌入式组态软件程序生成区的代码实现 / 361
第8章 GPS与Google Map定位系统 / 374
8. 1 MyMap服务系统 / 374
8. 2 Android Google Map / 375
8. 2. 1 申请Google Map Android API Key / 375
8. 2. 2 编写Google Map框架程序 / 376
8. 2. 3 控制地图 / 378
8. 2. 4 地图的显示模式 / 380
8. 2. 5 地图的图层 / 383
8. 2. 6 查询与定位 / 385
8. 3 Android定位服务 / 391
8. 3. 1 开启定位服务 / 391
8. 3. 2 模拟测试 / 393
8. 3. 3 GPS与GoogleMap定位 / 395
8. 4 案例重构 / 396
8. 4. 1 地图的显示模式 / 396
8. 4. 2 重构“查询方法” / 398
第9章 3D物理传感器游戏——小球快跑 / 401
9. 1 游戏背景及功能概述 / 401
9. 1. 1 背景概述 / 401
9. 1. 2 功能概述 / 401
9. 2 游戏的策划及准备工作 / 403
9. 2. 1 游戏的策划 / 403
9. 2. 2 小球快跑游戏开发的准备工作 / 403
9. 3 游戏的架构 / 404
9. 3. 1 游戏的总体架构 / 404
9. 3. 2 游戏的类结构 / 405
9. 4 DriftBall类的开发 / 406
9. 4. 1 DriftBall类的代码框架 / 406
9. 4. 2 DriftBall类的主要成员方法的实现 / 407
9. 5 游戏主菜单的开发 / 409
9. 5. 1 WelcomeView类的代码框架 / 409
9. 5. 2 WelcomeView类的主要成员方法的实现 / 410
9. 5. 3 WelcomeThread类的开发 / 412
9. 5. 4 菜单界面的用户交互事件处理 / 413
9. 6 游戏界面模块的开发 / 414
9. 6. 1 GameView的成员变量 / 414
9. 6. 2 GameView的成员方法概述 / 415
9. 6. 3 GameThread类的代码框架 / 416
9. 6. 4 GameMenuThread类的开发 / 417
9. 6. 5 用户交互事件处理 / 418
9. 7 游戏中各个图层的开发 / 419
9. 7. 1 地图图层的开发 / 419
9. 7. 2 其他图层的开发与实现 / 421
9. 8 游戏后台逻辑的开发 / 424
9. 8. 1 小球的运动控制 / 424
9. 8. 2 小球的碰撞检测 / 425
9. 8. 3 Cannon和Missile类的开发 / 428
9. 9 传感器计算模块的开发 / 432
9. 9. 1 BallListener类的开发 / 432
9. 9. 2 RotateUtil类的代码框架 / 433
9. 9. 3 RotateUtil类的开发 / 435
参考文献 / 438

教学资源推荐
作者: 徐明星 编著
作者: 教育部高等学校计算机科学与技术教学指导委员会
作者: 杜宇人 编著
作者: Ian Sommerville
参考读物推荐
作者: (美)杰拉德.考利 玛里安.施耐德.考利
作者: (美)Jeff Sauro  James R. Lewis 著
作者: [美]格雷格·福斯(Greg Foss),保罗·莫德曼(Paul Modderman) 著
作者: (美)Sharon Steuer