当前位置:首页 > 工业技术
嵌入式系统技术  第2版
嵌入式系统技术  第2版

嵌入式系统技术 第2版PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:张晓林主编;张展,周强,曹向荣等编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2017
  • ISBN:9787040473285
  • 页数:634 页
图书介绍:本书是“十二五”普通高等教育本科国家级规划教材,是关于嵌入式系统设计、应用技术的最新教程,在普通高等教育 “十一五”国家级规划教材《嵌入式系统技术》第一版的基础上,根据教学基本要求修订而成的。全书分为上、下两篇,上篇为理论和技术教材,首先概述了嵌入式系统的基本原理、开发流程,并介绍了各类软、硬件设计方法;其次,对典型的32位微处理器体系结构ARM进行了详细介绍,并讨论了SoC设计以及移动处理器芯片,再次,介绍了嵌入式Linux操作系统和VxWorks实时操作系统;下篇为实验讲义,分为基本实验、综合实验和专题实验,内容涵盖Linux开发环境搭建、内核编译、Qt移植、MPlayer播放器移植、Intel Edison IOT开发环境、基于基于Android的越界报警实验、基于Leon3的SoC一体化开发平台、VxWorks集成开发平台,充分结合了嵌入式系统开发实验教授实际的开发经验。本概念清晰、图文并茂,将嵌入式系统的设计与软硬件实现、工程应用很好地结合在一起,具有系统性、先进性和实用性的特点。本书知识覆盖面宽,适用范围广,可作为理工院校相关专业的本科生和研究生教材,对于嵌入式系统设计领域
《嵌入式系统技术 第2版》目录

上篇 2

第一章 概况 2

1.1 嵌入式系统的基本概念 2

1.1.1 嵌入式系统的概念和基本组成 2

1.1.2 嵌入式系统发展新趋势和新技术 4

1.2 嵌入式处理器 5

1.2.1 冯诺依曼结构与哈佛结构 6

1.2.2 CISC与RISC 7

1.2.3 流水线技术 11

1.2.4 信息存储的字节顺序 12

1.2.5 基于ARM架构的嵌入式处理器 14

1.2.6 基于MIPS架构的嵌入式微处理器 15

1.2.7 基于PowerPC架构的嵌入式微处理器 16

1.2.8 数字信号处理器(DSP) 18

1.2.9 嵌入式微控制单元(MCU) 18

1.2.10 嵌入式SoC 19

1.2.11 嵌入式处理器的发展趋势 20

1.3 嵌入式系统中的操作系统(EOS) 20

1.3.1 嵌入式Linux操作系统 20

1.3.2 Windows CE操作系统 22

1.3.3 VxWorks操作系统 24

1.3.4 其他嵌入式操作系统 25

1.3.5 嵌入式实时操作系统的发展前景 25

1.4 嵌入式系统的性能评价 26

1.4.1 度量项目 26

1.4.2 评价方法 27

1.4.3 嵌入式系统处理器评估的主要指标 29

思考题 30

第二章 系统设计与实现的方法 31

2.1 嵌入式系统总体设计方案 31

2.1.1 嵌入式系统开发流程及特点 31

2.1.2 嵌入式硬件系统开发 34

2.1.3 嵌入式软件系统开发 35

2.2 嵌入式系统中的调试与测试技术 40

2.2.1 嵌入式系统硬件的调试与测试技术 41

2.2.2 嵌入式系统软件的调试与测试技术 48

思考题 57

第三章 ARM体系结构与编程方法 58

3.1 ARM处理器概述 58

3.1.1 ARM处理器特点 58

3.1.2 ARM处理器的版本简介 59

3.1.3 ARM处理器的应用选型 64

3.2 ARM体系结构 67

3.2.1 ARM处理器的工作模式和指令状态 67

3.2.2 ARM寄存器 69

3.2.3 ARM体系的异常中断 72

3.2.4 ARM处理器的寻址方式 76

3.3 ARM编程方法 78

3.3.1 ARM指令概述 78

3.3.2 ARM汇编程序设计 88

3.3.3 ARM混合编程 99

思考题 108

第四章 X86体系结构 109

4.1 X86的发展历程 109

4.2 X86体系结构的特点 110

4.2.1 X86的体系组成 110

4.2.2 微处理器的类型和特点 113

4.2.3 主板和芯片组的类型和特点 122

4.2.4 存储器的类型和特点 128

4.2.5 外部接口的类型和特点 131

4.3 X86的指令体系 135

4.3.1 X86代码段类型和存储地址 135

4.3.2 指令的格式 135

4.4 X86的发展趋势 136

思考题 136

第五章 Intel移动芯片技术 138

5.1 Intel移动处理器架构 138

5.1.1 Intel Haswell微架构 138

5.1.2 Intel Atom微架构 140

5.1.3 Silvermont微架构 142

5.2 Atom Clover trail处理器 144

5.3 Bay trail处理器 145

5.4 14nm级Cherry trail处理器 146

5.5 Quark处理器 147

5.5.1 Galileo(伽利略)平台简介 148

5.5.2 Edison(爱迪生)平台简介 149

思考题 150

第六章 嵌入式系统中的硬件设计技术 151

6.1 嵌入式系统硬件设计概述 151

6.2 嵌入式系统的数字技术基础 151

6.2.1 组合逻辑电路基础 152

6.2.2 时序逻辑电路 157

6.2.3 总线电路及信号驱动 159

6.2.4 电平转换电路 162

6.2.5 可编程逻辑器件基础 165

6.3 电路硬件设计基础 167

6.3.1 电路设计 167

6.3.2 PCB电路设计 169

6.4 嵌入式系统电源设计技术 174

6.4.1 电源接口技术 174

6.4.2 电源管理技术 176

6.5 嵌入式系统中的存储系统设计 179

6.6 嵌入式系统中的总线技术 191

6.6.1 UART与RS-232C 193

6.6.2 USB总线及其体系结构 201

6.6.3 PCI局部总线介绍 208

6.6.4 VME总线 218

6.7 EDA技术在嵌入式系统硬件设计中的应用 221

6.7.1 EDA设计技术 221

6.7.2 ESDA技术的基本特征 221

6.7.3 EDA技术的基本设计方法 223

6.8 电路可测性设计与抗干扰设计 224

6.8.1 电路测试原理与可测性设计 224

6.8.2 硬件抗干扰设计 225

思考题 228

第七章 嵌入式处理器与SoC设计技术 229

7.1 SoC片上系统简介 229

7.1.1 SoC的定义及特点 229

7.1.2 SoC的结构特点 233

7.1.3 SoC设计简介 235

7.1.4 SoC一体化设计理念 239

7.1.5 SoC的发展展望 240

7.2 处理器的SoC设计 242

7.2.1 主要设计语言 242

7.2.2 Leon系列处理器的设计 251

7.2.3 SPARC V8 255

思考题 259

第八章 嵌入式Linux操作系统 260

8.1 Linux内核介绍 260

8.1.1 操作系统和内核概述 260

8.1.2 Linux内核特点 262

8.1.3 Linux内核版本 262

8.2 Linux进程 263

8.2.1 Linux进程管理 263

8.2.2 Linux进程调度 269

8.3 Linux系统调用 273

8.3.1 应用编程接口 273

8.3.2 系统调用 274

8.4 Linux中断机制 277

8.4.1 Linux中断机制介绍 278

8.4.2 中断处理上半部 279

8.4.3 中断处理下半部 282

8.5 Linux内核同步机制 288

8.5.1 内核同步基础 288

8.5.2 内核同步方法 292

8.6 Linux内存管理 304

8.6.1 页和区 304

8.6.2 slab分配器 308

8.6.3 栈上静态内存分配 310

8.7 虚拟文件系统 310

8.7.1 文件系统抽象层 311

8.7.2 VFS对象及其数据结构 312

8.7.3 Linux的文件系统 318

思考题 318

第九章 VxWorks实时操作系统 319

9.1 VxWorks简介 319

9.2 VxWorks和Wind内核 320

9.2.1 VxWorks操作系统的基本结构 320

9.2.2 VxWorks实时性 322

9.2.3 Wind内核与任务机制 324

9.3 VxWorks的板级支持包 339

9.3.1 VxWorks的板级支持包BSP概述 339

9.3.2 BSP的职责 340

9.4 VxWorks启动过程介绍 342

9.5 VxWorks集成开发环境 344

9.5.1 Tornado嵌入式开发系统简介 344

9.5.2 Workbench嵌入式开发系统简介 347

9.6 VxWorks图形界面设计 350

9.6.1 WindML2.0简要介绍 350

9.6.2 Zinc介绍 352

9.7 VxWorks网络通信 355

9.7.1 BSD Socket 356

9.7.2 网络通信程序设计 358

思考题 361

第十章 嵌入式GUI系统 362

10.1 嵌入式GUI系统概述 362

10.1.1 嵌入式GUI的基本特征 362

10.1.2 嵌入式系统常用GUI 363

10.1.3 嵌入式GUI的发展趋势 364

10.2 嵌入式GUI实现 365

10.2.1 嵌入式GUI总体设计 365

10.2.2 MiniGUI体系结构分析 366

10.2.3 Qtopia Core体系结构分析 370

10.2.4 其他嵌入式GUI 375

10.3 关于嵌入式GUI的其他问题 379

10.3.1 多语言支持 379

10.3.2 嵌入式高级图形窗口处理技术 380

10.3.3 触摸屏操作 382

思考题 384

下篇 386

实验一 基础实验——Linux开发环境搭建 386

1.1 嵌入式系统开发环境 386

1.2 实验表单 386

1.3 附加说明 387

1.3.1 实验所需软件 387

1.3.2 使用vi编辑器修改配置文件 389

实验二 基础实验——Uboot编译与烧写 392

2.1 Uboot简介 392

2.2 实验表单 392

2.3 附加说明 393

2.3.1 Uboot目录结构 393

2.3.2 Uboot配置与编译 393

实验三 基础实验——内核原理与编译 395

3.1 Linux内核裁剪与编译 395

3.1.1 Linux内核简介 395

3.1.2 Linux内核编译 397

3.2 实验表单 398

3.3 附加说明 399

3.3.1 Linux内核配置 399

3.3.2 Linux内核编译配置选项简介 399

3.3.3 Linux内核编译 402

3.3.4 Linux内核源码结构 402

实验四 基础实验——文件系统编译 404

4.1 文件系统 404

4.1.1 Linux文件系统简介 404

4.1.2 文件系统构建工具 404

4.2 实验表单 404

4.3 附加说明 405

实验五 综合实验——Qt移植及GUI程序设计实验 409

5.1 Qt简介 409

5.1.1 关于Qt 409

5.1.2 Qt的基本概念和编程方法 409

5.1.3 Qt的一个中心特征——信号和槽(signal&slot)机制 409

5.1.4 信号 410

5.1.5 槽 411

5.2 Qt Creator简介 411

5.2.1 关于Qt Creator 411

5.2.2 用Qt Creator创建图形用户界面 412

5.3 实验表单 417

5.4 附加说明 418

5.4.1 移植的Qt库的安装及镜像制作 418

5.4.2 编译Qt库并安装Qt Creator 420

5.4.3 安装NFS文件系统 421

5.4.4 虚拟机ping通开发板 421

实验六 综合实验——MPlayer播放器的移植 423

6.1 MPlayer简介 423

6.2 实验表单 423

6.3 附加说明 424

6.3.1 ARM-Linux-gcc交叉编译环境的搭建 424

6.3.2 配置和编译libmad库 427

6.3.3 配置和编译MPlayer 430

6.3.4 安装NFS文件系统 432

6.3.5 计算机、虚拟机ping通开发板 434

实验七 综合实验——基于QEMU的指令模拟器实验 439

7.1 QEMU简介 439

7.2 实验表单 439

7.3 附加说明 440

7.3.1 安装QEMU模拟器 440

7.3.2 编译并在QEMU上运行Uboot 441

7.3.3 编译并运行Linux 442

7.3.4 在模拟目标机(Linux系统)中运行应用程序 445

实验八 综合实验——基于Intel Edison IOT开发板的图像处理实验 448

8.1 实验简介 448

8.1.1 Intel Edison物联网/智能硬件开发板简介 448

8.1.2 OpenCV开源计算机视觉库 448

8.1.3 UVC video 449

8.1.4 Python编程语言 449

8.1.5 PuTTY终端软件 449

8.2 实验表单 450

8.3 附加说明 451

8.3.1 WinSCP文件传输软件简介 451

8.3.2 通过串口连接至Edison 452

8.3.3 查看Intel Edison的IP地址并通过WiFi登录PuTTY和SCP服务器 454

8.3.4 编译运行OpenCV示例程序——直方图均衡 456

8.3.5 将处理后的图片通过邮件进行发送 457

8.3.6 Intel Edison上安装OpenCV教程 459

实验九 综合实验——基于Intel Edison IOT开发板的视频串流实验 460

9.1 实验简介 460

9.1.1 实验简介 460

9.1.2 FFmpeg与FFserver简介 460

9.2 实验表单 461

9.3 附加说明 462

9.3.1 安装FFmpeg 462

9.3.2 编写FFserver配置文件 463

9.3.3 启动服务器并启动串流 466

9.3.4 通过Windows Media Player观看直播 467

实验十 综合实验——基于Android的越界报警实验 468

10.1 Android简介 468

10.2 实验表单 469

10.3 附加说明 470

10.3.1 搭建Android开发环境 470

10.3.2 移植OpenCV到Android 473

10.3.3 设计主程序 474

10.3.4 实现运动目标越界检测 475

实验十一 综合实验——基于LEON3的SoC一体化平台设计 479

11.1 实验简介 479

11.2 实验表单 480

11.3 附加说明 481

11.3.1 搭建LEON3 SoC设计平台 481

11.3.2 快速开发流程 483

11.3.3 Cygwin的安装和配置说明 487

11.3.4 GRTools的安装和配置说明 488

11.3.5 GRLIB的安装和配置说明 489

11.3.6 Quartus的安装说明 489

11.3.7 应用举例——“跑马灯”程序 490

实验十二 综合实验——VxWorks实时操作系统实验 497

12.1 引言 497

12.2 基础知识 497

12.2.1 VxWorks操作系统主要功能结构及其开发环境 497

12.2.2 WindML 498

12.2.3 套接字socket 498

12.2.4 串口通信 499

12.3 建立VxWorks开发环境 499

12.3.1 先期准备工作 499

12.3.2 编译网卡驱动 500

12.3.3 修改配置文件 500

12.3.4 编译Bootrom和VxWorks映像 501

12.3.5 创建引导软盘 502

12.3.6 建立调试环境配置FTP服务器 502

12.3.7 创建VxWorks系统 502

12.3.8 配置Target Server 503

12.4 Vxsim中WindML的调试 504

12.4.1 配置并编译WindML 504

12.4.2 建立一个bootable image工程 504

12.4.3 配置Target Server 505

12.4.4 vxsim launch 505

12.4.5 运行测试程序 505

12.5 VxWorks通信回环 506

12.5.1 TCP服务端的建立 506

12.5.2 串口通信的建立 507

12.5.3 环境配置 508

12.5.4 通信回环工程建立 508

12.6 实验表单 512

实验十三 专题实验——电子飞行仪表系统 514

13.1 概述和系统方案论证 514

13.1.1 题目概述 514

13.1.2 性能指标 515

13.1.3 方案论证 516

13.2 电子综合显示和告警系统 517

13.2.1 设计指标 517

13.2.2 电子综合显示与告警系统的框架分析 518

13.2.3 电子综合显示系统的图形设计 519

13.2.4 告警系统的设计 523

13.3 飞行数据采集系统软硬件设计 525

13.3.1 数据采集系统技术指标的提出 525

13.3.2 对飞行参数数据源的分析 526

13.3.3 方案论证和比较 526

13.3.4 采集系统的硬件设计 528

13.3.5 采集系统的软件设计 528

13.4 数据通信系统的设计与实现 530

13.4.1 概述 530

13.4.2 数据通信的方案设计 530

13.4.3 数据通信的实现原理 531

13.4.4 帧格式和数据的提取 532

13.5 传感器和信号调理系统的实现 534

13.6 EFIS系统的扩展功能——黑匣子 534

13.7 EFIS系统测试和分析 535

13.7.1 测试方案概述 535

13.7.2 测试设备 535

13.7.3 测试方案和结果分析 536

13.8 总结 541

实验十四 专题实验——智能家居综合系统 543

14.1 系统需求分析 543

14.2 系统开发平台 543

14.3 系统架构设计 544

14.4 系统级实现 545

14.5 软件实现 547

14.5.1 移植Qt/Embedded 547

14.5.2 图形界面实现 548

14.5.3 无线音乐点播 551

14.5.4 中文化以及短信收发 551

14.6 驱动程序实现 555

14.6.1 嵌入式系统驱动程序概述 555

14.6.2 驱动程序开发策略 556

14.6.3 U盘驱动开发 556

14.6.4 无线网卡驱动开发 557

14.6.5 MMC卡驱动程序开发过程 560

14.6.6 蓝牙传输卡开发过程 562

14.7 外围硬件系统实现 563

14.7.1 外围硬件方案论证以及设计目标 563

14.7.2 外围硬件实现原理 563

14.7.3 外围硬件系统软件实现 564

14.7.4 功能总述 567

14.7.5 程序运行热点分析 568

实验十五 专题实验——光传感自适应投影系统 569

15.1 系统概述 569

15.2 系统开发平台 570

15.3 系统架构设计 571

15.4 系统详细设计 572

15.4.1 投影定位方案设计 572

15.4.2 定位编码方案 573

15.4.3 通信方案 575

15.4.4 图像变换方案 575

15.5 外围硬件系统设计 577

15.5.1 外围硬件方案论证以及设计目标 577

15.5.2 外围硬件实现原理 578

15.5.3 外围电路原理图 578

15.6 功能实现 580

15.6.1 屏幕实时转映 580

15.6.2 动态追踪调节 580

15.6.3 手持单点调节 580

15.6.4 立体素模着色 580

15.6.5 双投影立方体整体着色 581

15.6.6 平面镜反射投影 581

15.6.7 单投影平面镜素模整体着色 581

15.6.8 墙壁立方投影 581

15.6.9 屏幕拼接 582

15.7 系统测试及优化 582

15.7.1 系统测试方案 582

15.7.2 系统功能测试及数据 582

15.7.3 系统性能测试及数据 582

15.7.4 硬件优化可能性 583

15.7.5 结果分析 583

15.8 系统创新总结 583

15.8.1 新型的定位技术 583

15.8.2 新的投影仪图像自动适应方案 583

15.8.3 投影仪的新型应用 584

附录 586

附录一 MX1ADS Linux系统使用手册 586

1.1 前言 586

1.2 MX1ADS使用须知 586

1.2.1 软件资源 586

1.2.2 硬件资源 587

1.2.3 电缆连接 587

1.2.4 Linux系统安装方法 587

1.2.5 网络配置 593

1.2.6 挂载NFS分区和RAMFS分区 594

1.2.7 加载QTOPIA应用程序 594

1.2.8 USB Client 595

1.2.9 键盘 596

1.2.10 立体声音频 596

1.2.11 MMC卡 596

1.2.12 电源管理 597

1.2.13 CMOS传感器 597

1.2.14 MMA模块 598

1.2.15 PWM模块 600

1.2.16 演示程序清单 601

1.2.17 设备文件清单 601

1.3 构建MX1ADS平台的Linux系统 602

1.3.1 安装工具链 602

1.3.2 由源代码建立MX1ADS启动加载程序 603

1.3.3 由源代码编译Linux内核 603

1.3.4 创建JFFS2文件系统镜像 604

附录二 MX1ADS硬件使用手册 606

2.1 概述 606

2.1.1 总述 606

2.1.2 功能部件 606

2.1.3 系统与使用需求 606

2.1.4 MX1ADS结构图 607

2.1.5 LCD显示屏板结构图 608

2.1.6 规格说明 608

2.2 MX1ADS结构与操作 609

2.2.1 板级开关 609

2.2.2 MX1ADS使用方法 611

2.2.3 板上接口的使用 618

2.2.4 附加模块的接口和使用 619

2.3 配套信息 619

2.3.1 UART接口 619

2.3.2 MultiICE接口 620

2.3.3 以太网接口 621

2.3.4 USB接口 622

2.3.5 LCD显示屏接口 622

2.3.6 SIM卡接口 623

2.3.7 记忆棒接口 624

2.3.8 SD/MMC接口 625

2.3.9 蓝牙接口 626

2.3.10 CSI图像传感器接口 626

英文缩略语对照表 628

参考文献 632

返回顶部