《嵌入式系统设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:彭舰,陈良银编著
  • 出 版 社:重庆:重庆大学出版社
  • 出版年份:2008
  • ISBN:9787562444701
  • 页数:376 页
图书介绍:本书共分15章,主要内容包括:嵌入式系统概述、嵌入式系统设计概述,ARM系统结构、ARM指令系统、ARM汇编语言程序设计、嵌入式系统存储器和常用接口、ARM嵌入式软件设计初步、嵌入式Linux系统及其应用程序开发、WinCE系统及其定制、WinCE系统开发和WinCE系统应用开发等。

第1部分 嵌入式基础 3

1 嵌入式系统概述 3

1.1 嵌入式系统的主流应用 5

1.2 嵌入式系统的特点 6

1.3 嵌入式系统基本组成 8

1.4 嵌入式处理器 9

1.4.1 嵌入式处理器分类 9

1.4.2 嵌入式微处理器介绍 11

1.5 嵌入式软件 12

1.5.1 嵌入式处理器分类 12

1.5.2 嵌入式微处理器介绍 14

1.6 嵌入式系统特性分析 14

1.6.1 嵌入式软件的分类 14

1.6.2 嵌入式软件发展趋势 15

1.7 嵌入式系统发展趋势 17

1.8 小结 18

1.9 习题 18

2 嵌入式系统基本设计方法 19

2.1 嵌入式系统设计概述 19

2.1.1 嵌入式系统设计的内容 19

2.1.2 嵌入式系统设计的技术背景 19

2.1.3 嵌入式系统设计方法的分类 20

2.1.4 嵌入式开发环境 22

2.2 嵌入式系统软硬件协同设计概述 22

2.2.1 软硬件协同设计的发展背景与过程 23

2.2.2 软硬件协同设计流程 24

2.3 需求分析和概要设计 25

2.3.1 用户需求分析和确定项目约束条件 25

2.3.2 系统硬件和软件功能划分 26

2.3.3 概要设计 26

2.4 详细设计 27

2.4.1 确定系统体系结构 27

2.4.2 硬件与软件的选型 27

2.4.3 微处理器选型和外围接口电路设计 29

2.4.4 嵌入式操作系统的选择 30

2.5 实现阶段 32

2.5.1 软件与硬件系统的实现 32

2.5.2 嵌入式系统的调试 33

2.6 测试阶段 35

2.6.1 嵌入式软件测试方法 35

2.6.2 嵌入式软件测试工具 36

2.6.3 嵌入式软件测试过程 37

2.7 小结 38

2.8 习题 38

3 嵌入式微处理器ARM 39

3.1 ARM微处理器系列 39

3.1.1 ARM微处理器简介 39

3.1.2 ARM体系结构及发展 39

3.1.3 ARM微处理器系列 40

3.2 ARM微处理器体系结构 43

3.2.1 ARM微处理器的工作状态 43

3.2.2 ARM微处理器的存储格式 43

3.2.3 ARM微处理器的指令流水线 45

3.2.4 ARM微处理器的处理器模式 44

3.2.5 ARM微处理器ARM状态下寄存器组织 45

3.2.6 ARM的异常处理 48

3.3 ARM典型微处理器 49

3.3.1 Samsung S3C2410X简介 50

3.3.2 S3C2410X功能结构框图 50

3.4 ARM指令系统 51

3.4.1 指令格式 51

3.4.2 条件码 52

3.4.3 ARM的寻址方式 52

3.4.4 ARM指令集简介 55

3.5 ARM伪指令及汇编程序设计简介 68

3.5.1 符号定义伪指令 68

3.5.2 数据定义伪指令 69

3.5.3 汇编控制伪指令 71

3.5.4 ARM伪指令 72

3.5.5 其他伪指令 73

3.5.6 汇编语言编程 75

3.6 小结 76

3.7 习题 77

4 嵌入式系统存储器和常用接口 78

4.1 嵌入式系统存储器分类 78

4.1.1 易失性存储器 78

4.1.2 非易失性寄存器 79

4.2 嵌入式系统存储器管理 80

4.3 S3C2410X存储系统 81

4.3.1 S3C2410X存储系统的特征 81

4.3.2 BankO总线宽度 81

4.3.3 存储器(SROM/SDRAM)地址引脚连接 82

4.4 通用UART 83

4.4.1 概述 84

4.4.2 UART操作 84

4.4.3 中断/DMA请求产生器 86

4.4.4 波特率发生器 87

4.4.5 UART寄存器 87

4.5 LCD控制 91

4.5.1 LCD简介 91

4.5.2 LCD控制器介绍 91

4.5.3 TFT LCD控制器操作 93

4.5.4 LCD寄存器介绍 97

4.6 以太网接口 102

4.6.1 以太网通信原理介绍 102

4.6.2 CS8900A以太网芯片简介 103

4.6.3 CS8900A的PacketPage结构 104

4.7 其他I/O 112

4.7.1 CAN总线模块 112

4.7.2 I2C总线 113

4.7.3 PCMCIA接口 113

4.7.4 USB接口 113

4.7.5 红外线通信接口 113

4.7.6 A/D&D/A转换器 113

4.8 小结 114

4.9 习题 114

5 嵌入式系统构件 115

5.1 嵌入式系统软件构件技术 115

5.1.1 基本概念 115

5.1.2 实例 117

5.2 LCD显示构件 118

5.2.1 模型 118

5.2.2 接口函数 118

5.2.3 模块实现 120

5.3 小结 124

5.4 习题 124

第2部分 嵌入式Linux操作系统 124

6 嵌入式Linux基础 127

6.1 嵌入式Linux系统概述 127

6.1.1 嵌入式Linux的优势和挑战 127

6.1.2 常见的嵌入式Linux系统简介 129

6.2 嵌入式Linux开发环境 130

6.2.1 嵌入式Linux开发的步骤 130

6.2.2 环境的建立 131

6.3 小结 136

6.4 习题 136

7 嵌入式Linux的Bootloader 137

7.1 Bootloader简介 137

7.1.1 Bootloader的概念 137

7.1.2 Bootloader的启动 138

7.1.3 Bootloader的种类 140

7.2 常用Bootloader的介绍 141

7.2.1 ARMboot 141

7.2.2 U-Boot 142

7.2.3 Blob 144

7.2.4 vivi 144

7.3 Bootloader的统写和使用 145

7.3.1 Bootloader的烧写 145

7.3.2 Bootloader的使用 146

7.4 初始化引导代码实例 146

7.4.1 U-Boot源码结构 147

7.4.2 启动流程分析 148

7.4.3 main& c文件 176

7.5 小结 178

7.6 习题 179

8 嵌入式Linux内核 180

8.1 Linux内核概述 180

8.1.1 Linux内核和功能结构 180

8.1.2 Linux内核源代码布局 182

8.1.3 内核的移植 184

8.2 Linux内核模块 185

8.2.1 进程管理模块 185

8.2.2 存储管理模块 187

8.3 Linux的编译和定制 189

8.3.1 Linux内核编译概述 189

8.3.2 编译内核前的准备工作 189

8.3.3 编译内核第一步:配置内核 190

8.3.4 编译内核第二步:编译内核 191

8.3.5 编译内核后生成的文件 191

8.4 Linux系统调用举例 193

8.4.1 Linux系统调用介绍 193

8.4.2 给内核增加新的系统调用的实例 194

8.5 小结 196

8.6 习题 196

9 嵌入式Linux文件系统 197

9.1 Linux文件系统结构 197

9.1.1 Linux文件系统的特点 197

9.1.2 Mount命令 198

9.1.3 文件的类型 199

9.1.4 Linux常见的文件系统 200

9.1.5 VFS 200

9.2 MTD 201

9.3 嵌入式Linux专用文件系统 202

9.3.1 JFFS/JFFS 2202

9.3.2 YAFFS/YAFFS 2203

9.3.3 Cramfs 204

9.4 如何构造根文件系统 205

9.4.1 根文件系统的基本结构 205

9.4.2 为嵌入式系统建立一个完整的文件系统 206

9.5 小结 210

9.6 习题 210

10 嵌入式Linux设备驱动程序 211

10.1 Linux设备介绍 211

10.1.1 Linux设备分类 211

10.1.2 设备文件 211

10.1.3 设备号 212

10.2 Linux设备驱动程序 212

10.3 Linux设备驱动程序模块结构 215

10.4 Linnux设备驱动程序的编写举例 215

10.4.1 主要数据结构和全局变量 220

10.4.2 主要接口函数 221

10.4.3 模块加载函数 223

10.4.4 模块加载和驱动安装 224

10.5 小结 226

10.6 习题 226

11 嵌入式Linux系统应用程序开发 227

11.1 Linux应用程序开发概述 227

11.2 Vi编辑器 228

11.3 使用gcc进行Linux应用程序开发 228

11.4 GNU的make和Makefile 229

11.4.1 GNU Make概述 229

11.4.2 Makefile介绍 229

11.4.3 GNU make的主要预定义变量 232

11.4.4 make的命令行选项 232

11.5 嵌入式Linux 的GUI 233

11.5.1 概述 233

11.5.2 常见的嵌入式Linux GUI简介 233

11.5.3 MiniGui 235

11.6 小结 238

11.7 习题 238

第3部分 Windows CE. NET操作系统 238

12 Windows CE. NET体系结构 241

12.1 Windows CE简介 241

12.1.1 Windows CE概述 241

12.1.2 Windows CE. NET概述 241

12.1.3 Windows CE的发展 242

12.1.4 Windows CE的应用 243

12.2 Windows CE. NET系统架构 244

12.2.1 Windows CE. NET系统特征 244

12.2.2 Windows CE. NET体系结构 246

12.2.3 Windows CE. NET内核 247

12.2.4 Windows CE. NET实时特性 250

12.3 Windows CE. NET系统调度 251

12.3.1 Windows CE. NET进程的描述和控制 251

12.3.2 Windows CE. NET进程的同步 255

12.3.3 Windows CE. NET进程间通信 257

12.4 Windows CE. NET内存管理 259

12.4.1 Windows CE. NET内存体系结构 259

12.4.2 Windows CE. NET进程地址空间 260

12.4.3 物理内存 262

12.4.4 虚拟内存 264

12.4.5 内存分配方式 266

12.5 Windows CE. NET存储管理与文件系统 268

12.5.1 对象存储 269

12.5.2 文件系统 269

12.5.3 存储管理器 270

12.5.4 注册表 270

12.6 Windows CE. NET设备管理 271

12.7 Windows CE.NET用户界面与图形子系统 272

12.8 小结 273

12.9 习题 273

13 Windows CE. NET系统定制 274

13.1 Windows CE开发平台的构建与配置 274

13.1.1 基于Windows CE的嵌入式产品的开发流程 274

13.1.2 开发平台的搭建及使用 275

13.1.3 Platform Builder集成开发环境 277

13.2 Windows CE. NET内核定制 280

13.2.1 平台开发周期 280

13.2.2 定制Windows CE操作系统的过程 282

13.2.3 在Platform Builder中添加自定义特性 287

13.2.4 内核镜像的两种运行环境 290

13.3 内核镜像的创建原理 297

13.3.1 源代码配置文件 297

13.3.2 镜像配置文件 299

13.3.3 内核镜像的生成原理 301

13.4 小结 305

13.5 习题 305

14 Windows CE. NET系统开发 306

14.1 Windows CE. NET开发 306

14.1.1 Windows CE. NET开发概述 306

14.1.2 Windows CE. NET开发过程 309

14.2 BSP开发概述 312

14.2.1 BSP概述 312

14.2.2 BSP基本结构 312

14.2.3 BSP开发 313

14.3 驱动程序开发 315

14.3.1 驱动开发概述 315

14.3.2 Windows CE. NET的驱动模型 315

14.3.3 Windows CE. NET驱动程序的中断机制 318

14.3.4 流接口驱动程序工作原理 322

14.3.5 流接口驱动程序开发过程 323

14.3.6 流接口驱动程序开发实例 325

14.4 Bootloader开发 329

14.4.1 Bootloader概述 329

14.4.2 Eboot 331

14.4.3 Bootloader开发概述 334

14.5 OAL开发 335

14.5.1 OAL概述 335

14.5.2 Windows CE操作系统的启动过程 336

14.5.3 OAL基本开发 337

14.6 小结 339

14.7 习题 339

15 Windows CE. NET应用开发 340

15.1 应用开发概述 340

15.1.1 Windows CE应用程序开发流程 340

15.1.2 Windows CE编程特性 341

15.2 Windows CE的应用编程接口 342

15.2.1 Win 32 API 343

15.2.2 MFC 344

15.2.3 .NET Compact Framework 344

15.2.4 各种编程接口的比较 346

15.3 Windows CE应用开发工具 347

15.3.1 Windows CE应用程序开发的选择 347

15.3.2 Windows CE应用程序开发工具概述 349

15.3.3 EVC集成开发环境 350

15.3.4 Visual Studio. NET 353

15.3.5 开发软件的依赖关系 356

15.4 Embedded Visual C++4.O应用开发概述 357

15.4.1 MFC应用程序的建立 357

15.4.2 应用程序功能的添加 360

15.5 Windows CE通信开发实例 362

15.5.1 Windows CE串行通信原理 362

15.5.2 功能描述 363

15.5.3 关键代码分析 363

15.5.4 源代码剖析 365

15.6 小结 371

15.7 习题 371

参考文献 372