《嵌入式车载信息系统开发与应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:南金瑞(等)编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121028921
  • 页数:333 页
图书介绍:嵌入式系统是指以应用为核心,以计算机为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。本书围绕目前流行的32位ARM处理器和源码开放的Linux操作系统,讲述嵌入式系统的概念,通过具体工程实例讲述嵌入式系统软硬件集成、开发过程及嵌入式Linux应用程序和驱动程序的开发设计方法。本书本着“从实践中来,到实践中去”的原则编写,力求使读者通过学习理论,在理论指导下灵活应用于实践,使读者较快掌握嵌入式系统应用和开发的基本技术。本书的特色在于经过实际教学和培训使用,所列举程序取材于学生课程实验、培训实习和工程科研项目实践。特别适合没有单片机和操作系统基础的开发人员学习嵌入式系统。

第1章 嵌入式系统基础 2

1.1 嵌入式系统概述 2

1.1.1 嵌入式系统的定义 2

第1部分 嵌入式系统知识 2

1.1.2 嵌入式系统的组成 3

1.1.3 嵌入式系统的特点 4

1.1.4 嵌入式系统的应用 5

1.1.5 实时系统 5

1.2 嵌入式处理器 7

1.2.1 嵌入式微处理器(EMPU) 7

1.2.2 微控制器(MCU) 7

1.3 嵌入式操作系统 8

1.3.1 操作系统的概念及分类 8

1.2.3 DSP 8

1.2.4 SoC 8

1.3.2 几个主要的概念 9

1.3.3 实时操作系统 10

1.4 嵌入式技术发展现状及趋势 14

1.5 嵌入式技术在汽车中的广泛应用 16

1.5.1 嵌入式技术的快速发展给汽车工业带来了新的生机 16

1.5.2 我国汽车电子市场的发展状况 17

思考题与习题 20

本章小结 20

第2章 嵌入式系统开发过程 21

2.1 嵌入式软件开发的特点 21

2.1.1 需要交叉开发环境 21

2.1.2 引入任务设计方法 21

2.1.3 需要固化程序 21

2.1.4 软件开发难度大 21

2.2.2 设计阶段 22

2.2.3 生成代码调试阶段 22

2.2 嵌入式软件的开发流程 22

2.2.1 需求分析阶段 22

2.2.4 固化阶段 23

2.2.5 嵌入式软件开发的要点 23

2.3 嵌入式系统的调试 24

本章小结 24

思考题与习题 24

第2部分 ARM体系结构 26

第3章 ARM微处理器概述 26

3.1 发展历程 26

3.2 ARM微处理器系列 26

3.2.1 ARM7系列 27

3.2.2 ARM9/9E系列 28

3.2.3 ARM10E系列 28

3.2.4 ARM11系列 29

3.3 技术特点 30

3.4 应用选型 30

3.2.5 其他 30

3.4.1 内核选择 31

3.4.2 工作速度 31

3.4.3 片内存储器容量 31

3.4.4 片内外设 31

3.4.5 其他因素 32

3.5 相关术语 32

3.5.1 RISC与CISC 32

3.5.2 流水线 33

3.5.3 Von Neumman和Harvard计算机结构 34

3.5.4 AMBA总线 34

3.5.5 ARM相关技术 35

本章小结 36

思考题与习题 36

第4章 编程模型 37

4.1 数据类型 37

4.2 存储器格式 37

4.4 处理器运行模式 38

4.3 工作状态切换 38

4.5 寄存器组织 39

4.5.1 通用寄存器 40

4.5.2 Thumb状态寄存器组织 41

4.5.3 程序状态寄存器 43

4.6 异常 44

4.6.1 异常类型 45

4.6.2 异常响应 45

4.6.3 异常返回 45

4.6.4 异常向量 46

4.6.5 异常优先级 46

4.6.6 异常描述 46

4.6.7 应用程序的异常处理 48

本章小结 48

思考题与习题 49

5.1 指令的分类与格式 50

第5章 ARM微处理器指令系统 50

5.2 指令的条件域 51

5.3 ARM指令的寻址方式 52

5.3.1 立即寻址 52

5.3.2 寄存器寻址 52

5.3.3 寄存器间接寻址 52

5.3.5 多寄存器寻址 53

5.3.6 相对寻址 53

5.3.4 基址变址寻址 53

5.3.7 堆栈寻址 54

5.4 ARM指令集 54

5.4.1 跳转指令 54

5.4.2 数据处理指令 55

5.4.3 乘法指令 60

5.4.4 程序状态寄存器访问指令 62

5.4.5 加载/存储指令 63

5.4.6 批量数据加载/存储指令 65

5.4.7 移位操作 67

5.4.8 协处理器指令 68

5.4.9 异常指令 70

5.5 Thumb指令集 70

本章小结 71

思考题与习题 71

第3部分 嵌入式操作系统Linux 74

第6章 嵌入式Linux操作系统 74

6.1 Linux概况 74

6.1.1 Linux和UNIX的历史 74

6.1.2 Linux的特点 77

6.1.3 Linux应用 78

6.2 嵌入式Linux的基本结构 79

6.3 Linux目录结构 80

6.3.1 root文件系统 81

6.3.2 /usr文件系统 81

6.4 Linux内核简介 82

6.3.3 /var文件系统 82

6.3.4 /proc文件系统 82

6.5 嵌入式Linux系统开发流程 84

本章小结 85

思考题与习题 85

第7章 嵌入式Linux应用程序的开发 86

7.1 Linux的使用 86

7.1.1 Linux常用命令 86

7.1.2 VI编辑器的使用 103

7.2 GNU开发工具的使用 106

7.2.1 GCC编译器 107

7.2.2 GNU Make 109

7.2.3 使用GDB 115

7.3 开发环境的建立 120

7.3.1 安装开发环境 120

7.3.2 配置开发环境 123

7.3.3 使用开发环境 125

7.4.1 低级文件操作 132

7.4 在嵌入式Linux下开发应用程序 132

7.4.2 标准输入输出 133

7.4.3 内存管理 133

7.4.4 进程和管道 134

7.4.5 信号 144

7.5 应用程序调试 151

7.5.1 通过以太网口远程调试 152

7.5.2 通过串口远程调试 154

7.5.3 使用DDD进行远程调试 155

本章小结 159

思考题与习题 159

第8章 嵌入式Linux驱动程序开发 160

8.1 嵌入式Linux的设备管理 160

8.1.2 驱动程序结构 161

8.1.1 驱动程序的概念 161

8.1.3 Linux对中断的处理 163

8.1.4 设备驱动的初始化 164

8.2 驱动程序的开发过程 166

8.2.1 驱动程序的开发流程 166

8.2.2 设备驱动程序存取 167

8.2.3 基于模块化的字符设备驱动框架 167

8.2.4 模块化驱动程序的加载和卸载 168

8.3 串口驱动程序 169

8.4 LCD驱动程序 174

8.4.1 Linux的帧缓冲设备 174

8.4.2 帧缓冲驱动的编写 176

本章小结 177

思考题与习题 177

9.1.2 图形用户界面系统的结构模型 178

9.1.1 对嵌入式GUI的认识 178

9.1 嵌入式GUI 178

第9章 嵌入式Linux下GUI的实现 178

9.2 MiniGUI 179

9.2.1 MiniGUI简介 179

9.2.2 在PC上安装与配置MiniGUI 181

9.2.3 MiniGUI下应用程序的开发方法与流程 184

9.2.4 MiniGUI编程示例 185

9.3 Qt、Qt/Embedded 192

9.3.1 Qt、Qt/Embedded简介 192

9.3.2 在PC上安装与配置Qt/Embedded 193

9.3.3 Qt下应用程序的开发方法与流程 194

9.3.4 QT编程示例 196

本章小结 197

思考题与习题 198

10.1.1 信号与系统 200

10.1 数据采集(DAQ)基础 200

第4部分 车载信息系统应用实例 200

第10章 MC9328MX1最小系统设计 200

10.1.2 信号采集 201

10.1.3 数据采集系统的功能 202

10.2 MC9328MX1概述 204

10.2.1 系统总体框图 206

10.2.2 系统主要部件 206

10.3 引脚定义及描述 212

10.4.1 EMOTION ARM 9 Linux开发系统概述 218

10.4 系统硬件选型与单元电路设计 218

10.4.2 EMOTION ARM 9 Linux开发系统资源接口说明 223

10.4.3 系统硬件选型与单元电路设计 233

10.4.4 硬件调试 253

10.4.5 印制电路板的设计 257

本章小结 260

思考题与习题 260

11.1.2 10/100Mbps以太网接口电路 261

11.1.1 10/100Mbps以太网接口电路特点 261

第11章 ARM9 Linux外围电路实例 261

11.1 10/100Mbps以太网接口电路 261

11.2 通用I/O接口电路 264

11.2.1 基本原理 264

11.2.2 硬件接口电路 265

11.3 Slave USB硬件接口电路 269

11.3.1 基本原理 269

11.3.2 USB的硬件接口电路 270

11.4 Audio CODEC硬件接口电路 271

11.4.1 基本原理 271

11.4.2 接口电路 274

11.5 LCD显示接口电路 276

11.5.1 LCD基本原理 276

11.5.2 LCD的驱动控制 277

11.5.3 LCD显示接口 278

11.6.1 触摸屏基本原理 280

11.6 LCD触摸屏接口电路 280

11.6.2 触摸屏与显示器的配合 281

11.6.3 触摸屏接口电路 282

11.7 模数转换接口电路 284

11.7.1 基本原理 284

11.7.2 A/D转换接口电路 286

11.8 D/A转换接口电路 287

11.8.1 基本原理 287

11.8.2 DAC硬件接口电路 290

11.9 CAN通信接口电路 292

11.9.1 基本原理 292

11.9.2 CAN通信接口电路 293

本章小结 293

思考题与习题 293

12.1.1 系统分析 294

12.1.2 系统功能 294

12.1 车辆信息采集系统 294

第12章 基于EMOTION的车辆信息采集系统 294

12.1.3 各级界面中分别要实现的功能 298

12.1.4 基于EMOTION开发系统的车辆信息系统 298

12.2 内核模块设计 299

12.2.1 内核模块编写快速入门 299

12.2.2 内核剪裁和文件系统创建 300

12.2.3 文件系统的建立 305

12.3 串口通信 307

12.4 开关量操作模块 308

12.4.1 系统工作原理 308

12.4.2 开发内容 309

12.4.3 开发步骤 309

12.5 车辆状态监测 310

12.5.1 软件实现原理 310

12.5.2 开发内容 310

12.6.1 MX1片内LCD控制器操作 311

12.6 人机界面开发 311

12.5.3 开发步骤 311

12.6.2 EMOTION ARM9 Linux的液晶显示系统 313

12.6.3 开发内容 314

12.6.4 开发步骤 314

12.7 CAN总线通信开发 314

12.7.1 软件原理 314

12.7.2 开发步骤 315

12.8.2 开发内容 316

12.8.3 开发步骤 316

12.8.1 开发原理 316

12.8 多进程编程开发 316

本章小结 317

思考题与习题 317

附录A Linux常用操作介绍 318

附录B EMOTION(ARM9 Linux)核心板电路原理图 320

附录C EMOTION(ARM9 Linux)扩展板电路原理图 326

参考文献 333