第1章 多核处理器基础 1
1.1嵌入式系统概述 1
1.2嵌入式系统的发展 2
1.2.1从单片机到嵌入式系统 2
1.2.2从芯片级设计到系统级设计 3
1.2.3从单处理器设计到多处理器设计 3
1.3多核处理器 3
1.3.1单核处理器的局限性 3
1.3.2处理器执行指令的效率 4
1.3.3 CPU的主频与功耗的关系 4
1.3.4从单核处理器到多核处理器设计 6
1.3.5多任务应用的工作模式 6
1.4嵌入式系统软件 7
1.4.1嵌入式软件设计的特点 7
1.4.2嵌入式操作系统 8
1.5嵌入式系统应用 12
1.6ARM处理器 14
1.6.1 ARM的历史 14
1.6.2 ARM的发展 15
1.7ARM处理器分类 15
1.7.1 ARM处理器架构 15
1.7.2 ARM Cortex处理器 16
1.7.3 Cortex-A8处理器 17
1.7.4 Cortex-A5处理器 17
1.7.5 Cortex-A7处理器 18
1.7.6 Cortex-A9处理器 19
1.7.7 Cortex-A12处理器 19
1.7.8 Cortex-A15处理器 20
1.8ARMv8架构 22
1.8.1 ARMv8架构介绍 22
1.8.2 Cortex-A50系列处理器 23
1.8.3苹果A7处理器 24
1.9多核处理器时代 25
第2章 ARM多核处理器体系结构 28
2.1微处理器的体系结构基础 28
2.2ARM处理器体系结构 32
2.3 Cortex-A9处理器体系结构 37
2.3.1 Cortex-A9内核结构 37
2.3.2 Cortex-A9单核处理器 38
2.3.3 Cortex-A9MPCore多核处理器 39
2.3.4 Cortex-A9主要功能 40
第3章 多核嵌入式系统硬件结构 42
3.1嵌入式系统硬件结构 42
3.2 Exynos4412开发板介绍 43
3.2.1 Exynos4412处理器介绍 43
3.2.2 Exynos4412开发板 44
3.3 OMAP4460开发平台 45
3.3.1 OMAP4460双核处理器介绍 45
3.3.2 OMAP4460开发板介绍 48
3.3.3 OMAP4460开发板结构 49
3.3.4 JTAG接口 50
3.4电源管理 52
3.4.1电源管理概述 52
3.4.2 TWL6030电源管理IC 54
3.4.3 OMAP4460开发板电源管理 56
第4章 存储器电路 57
4.1OMAP4460存储空间 57
4.1.1 OMAP4460存储空间概要 57
4.1.2 OMAP4460存储映射 58
4.2 RAM存储器 60
4.2.1 RAM存储器介绍 60
4.2.2 SDRAM工作原理 62
4.2.3 DDR SDRAM分类 65
4.2.4 DDR SDRAM工作原理 69
4.2.5 DDR3新增特点 71
4.3ROM存储器 72
4.3.1 ROM存储器类型 72
4.3.2 Flash存储器类型 75
4.4存储卡接口电路设计 80
4.4.1存储卡分类 80
4.4.2存储卡接口电路设计 81
第5章 音视频及触摸接口 83
5.1显示屏 83
5.1.1液晶显示技术的发展 83
5.1.2 TFT屏 84
5.1.3 IPS硬屏 85
5.1.4其他液晶屏 88
5.1.5 OLED屏 89
5.1.6 AMOLED屏幕 91
5.1.7 SuperAMOLED屏幕 91
5.1.8等离子显示屏 92
5.1.9 OMAP4460显示屏接口设计 93
5.2触摸屏 95
5.2.1触摸屏介绍 95
5.2.2电阻触摸屏 97
5.2.3电容触摸屏 98
5.3 HDMI接口 102
5.3.1 HDMI接口介绍 102
5.3.2 HDMI接口类型 103
5.3.3 HDMI接口电路 104
5.4摄像头接口 106
5.4.1摄像头种类 106
5.4.2 CMOS摄像头接口电路 108
5.5音频接口 109
5.5.1音频接口介绍 109
5.5.2音频接口电路 110
第6章 通信接口 111
6.1无线通信 111
6.1.1 WLAN通信 111
6.1.2 Wi-Fi通信 112
6.1.3蓝牙通信 112
6.1.4嵌入式系统中的无线通信解决方案 113
6.2以太网通信 115
6.2.1以太网接口介绍 115
6.2.2 LAN9514以太网接口的设计 116
6.2.3 LAN8720以太网接口的设计 117
6.2.4 DM9621以太网接口的设计 118
6.3其他通信接口 119
6.3.1其他无线通信 119
6.3.2其他有线接口 120
6.4物联网 121
第7章 Bootloader程序设计 123
7.1 Bootloader程序 123
7.1.1 Bootloader介绍 123
7.1.2 U-Boot介绍 123
7.1.3 Vivi介绍 124
7.2 U-Boot引导程序分析 124
7.2.1 U-Boot功能与结构 124
7.2.2 U-Boot命令 125
7.2.3 U-Boot工作流程 131
第8章 Linux软件开发平台及软件配置 133
8.1Linux体系结构 133
8.1.1 Linux介绍 133
8.1.2 Linux系统结构 134
8.1.3 Linux内核结构 135
8.2Linux开发基础 137
8.2.1在Windows上安装虚拟机 137
8.2.2在虚拟机上安装Linux 139
8.3Linux嵌入式系统开发平台配置 153
8.3.1 GCC编译开发环境 153
8.3.2在Ubuntu上安装ARM交叉编译环境 154
8.4Linux程序设计 155
8.4.1 make常用命令 155
8.4.2 makefile文件规则 157
第9章 Linux驱动程序设计 162
9.1Linux设备驱动程序 162
9.1.1 Linux设备分类 162
9.1.2 Linux驱动程序的模块化 163
9.1.3 Linux设备驱动程序结构 165
9.1.4 Linux驱动程序常用的数据结构 166
9.1.5 Linux2.6与2.4内核驱动程序的区别 171
9.2Linux经典Hello World驱动程序 174
9.2.1驱动程序代码 174
9.2.2 module init与module exit宏 174
9.2.3 printk函数 177
9.2.4驱动程序的编译与加载 177
9.3 Linux字符设备驱动程字实例 179
9.3.1字符设备驱动程序 179
9.3.2字符设备驱动测试 185
9.3.3字符设备驱动的加载与测试 186
第10章 Linux及Android操作系统的编译 187
10.1 Android系统架构 187
10.2 Ubuntu编译环境配置 190
10.2.1主机环境 190
10.2.2初步设置 192
10.3快速入门与预编译二进制文件 193
10.4从源代码构建 194
10.4.1编译平台设置 194
10.4.2创建AOSP主分支 195
10.4.3编译Linaro内核 197
第11章 Android程序设计基础 200
11.1Eclipse开发环境配置 200
11.1.1环境搭建 200
11.1.2使用Eclipse开发Android程序 202
11.2 Obtain Studio使用方法 203
11.2.1 Obtain Studio介绍 203
11.2.2创建Android项目 205
11.2.3 Obtain Studio集成开发系统常用技巧 211
11.3 Android常用命令 214
11.3.1 ADB命令 214
11.3.2 Shell命令 217
11.4Android项目 219
11.4.1 Android项目结构 219
11.4.2 Android项目文件 220
11.4.3 Android项目编译配置文件 222
11.4.4 Android项目全局配置文件 224
11.5Android资源 227
11.5.1 Android资源类型 227
11.5.2字符串资源文件 228
11.6Android应用程序签名 234
11.6.1关于Android应用程序签名 234
11.6.2 ProGuard工具 235
11.6.3 keytool程序 236
11.6.4应用程序签名 237
第12章 Android图形用户界面设计 239
12.1 Android界面布局 239
12.1.1界面布局文件 239
12.1.2界面布局类型 240
12.2Android常用控件 243
12.2.1 Button控件 244
12.2.2 CheckBox控件 245
12.2.3 EditText控件 246
12.2.4 ImageButton控件 248
12.2.5 ImageView控件 249
12.2.6 ListView控件 249
12.2.7 ProgressBar控件 251
12.2.8 RadioButton控件 252
12.2.9 SeekBar控件 253
12.2.10 Spinner控件 254
12.2.11TabHost/TabWidget 255
12.2.12Gallery与ImageSwitcher 256
12.2.13GridView 260
12.3自定义按钮背景 263
第13章 Activity、 Intent和Service系统结构设计 267
13.1Java语言编程基础 267
13.1.1 Java语言的特点 267
13.1.2 Java与C+++的区别 268
13.2Android应用程序组件 270
13.3 Activity 270
13.3.1 Activity类 270
13.3.2 Android事件侦听器 274
13.4 Intent 278
13.4.1 Intent介绍 278
13.4.2常见Intent应用 279
13.4.3两个activity之间切换实例 281
13.5 Service 285
13.5.1 Service介绍 285
13.5.2 Service启动流程 285
13.5.3 Service应用实例 285
13.6对话框 286
13.6.1 Toast消息提示框 286
13.6.2对话框 289
13.7 Android程序字生命周期 290
13.8广播接收器 292
13.9 Android网络编程 293
13.9.1 Android HTTP通信 294
13.9.2 Android Socket通信 297
第14章 iOS程序设计基础 300
14.1 iOS开发环境搭建 300
14.1.1 iOS介绍 300
14.1.2iOS开发环境搭建 300
14.2 iOS入门实例 302
14.2.1创建iOS项目 302
14.2.2编辑main.storyboard文件 304
14.2.3程序代码分析 307
14.2.4main函数及程序启动过程 308
14.2.5 UIResponder类 309
15章 Objective-C++程语言 311
15.1 Objective-C概述 311
15.1.1 Objective-C介绍 311
15.1.2Objective-C特点 311
15.1.3 Objective-C和C+++/java比较 312
15.1.4运行Objective-C 314
15.2类和对象 316
15.2.1类的声明 316
15.2.2类的实例化 317
15.2.3类的继承 318
15.2.4 Objective-C分类和扩展 319
15.3内存管理 321
15.3.1内存管理基础 321
15.3.2 ARC内存管理 323
第16章 iOS视图及视图控制 326
16.1 iOS的窗口与视图介绍 326
16.1.1 iOS窗口 326
16.1.2 iOS视图 327
16.2 iOS控件 328
16.2.1 iOS基本控件 328
16.2.2 UIToolBar工具条使用示例 331
16.3 iOS视图控制器 333
16.4视图控制器应用实例 335
第17章 Hybrid App开发基础 348
17.1 Hybrid App开发介绍 348
17.1.1移动开发类型 348
17.1.2 Native App 348
17.1.3 Web App 349
17.1.4Hybrid App 350
17.1.5常见移动Web开发框架 350
17.1.6常见Hybrid App平台 351
17.2HTML5 353
17.2.1 HTML5介绍 353
17.2.2语义特性 354
17.2.3本地存储 359
17.2.4 WebSockets 365
17.3 Sencha Touch 365
17.3.1 Sencha Touch概要 365
17.3.2 Sencha Touch应用 366
第18章 PhoneGap移动开发 370
18.1 PhoneGap概述 370
18.1.1PhoneGap介绍 370
18.1.2 PhoneGap基本知识 370
18.1.3 PhoneGap的特点 370
18.2 PhoneGap开发实例 371
18.2.1配置PhoneGap 371
18.2.2 PboneGap自带例子 372
18.2.3创建一个新的实例 376
18.2.4 PhoneGap插件开发 378
18.3 PhoneGap API 381
18.3.1 Accelerometer 382
18.3.2Camera 383
18.3.3 Compass 385
18.3.4Contacts 386
18.3.5 Device 387
18.3.6 Events 387
18.3.7 File 389
18.3.8 GeoLocation 397
18.3.9 Media 398
18.3.10 Notification 400
18.3.11Storage 401
18.4PhoneGap开发iOS应用程序 402
第19章 jQuery Moblie移动开发 404
19.1jQuery Mobile概要 404
19.1.1 jQuery介绍 404
19.1.2jQuery Mobile介绍 405
19.2jQuery应用 405
19.2.1 jQuery应用基础 405
19.2.2jQuery选择器 407
19.2.3jQuery事件 409
19.3jQuery.ajax 416
19.3.1 jQuery.ajax介绍 416
19.3.2 JSON 417
19.3.3jQuery.ajax应用 419
19.4jQuery Mobile应用 423
19.4.1 jQuery Mobile页面结构 423
19.4.2jQuery Mobile页面链接 424
19.4.3jQuery Mobile内容格式 427
19.4.4对话框 428
19.4.5jQuery Mobile导航 429
19.4.6jQuery Mobile工具栏 431
19.4.7jQuery Mobile按钮 435
19.4.8jQuery Mobile主题化 436
19.4.9jQuery Mobile列表视图 440
参考文献 445