
微信扫一扫,移动浏览光盘
简介
《Android嵌入式系统程序开发(基于Cortex-A8)》主要分为三部分,包括软件篇、硬件篇和项目篇。软件篇从Android 体系结构和开发环境搭建,以及Android 应用程序开发等方面构造了一个完整的Android开发流程;硬件篇重点讲解了S5PV210硬件结构和Android系统移植,详细介绍了底层驱动的封装、中间层jni的制作,以及上层UI的设计;项目篇提供完整的综合应用项目的程序开发实例,详细介绍了开发过程和原始程序代码。并且安排了丰富的实验内容与实践,让读者深刻理解和掌握嵌入式系统开发的整个过程,了解底层驱动程序驱动硬件的原理和上层应用程序的设计方法。
《Android嵌入式系统程序开发(基于Cortex-A8)》内容丰富实用、层次清晰、叙述详尽,方便教学与自学。可作为高等院校计算机类、电子类和控制类等专业高年级本科生、研究生学习嵌入式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
软件篇
第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
Android emledded system development:based on Cortex-A8
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
