当前位置:首页 > 工业技术
ARM嵌入式技术原理与应用
ARM嵌入式技术原理与应用

ARM嵌入式技术原理与应用PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:陈赜主编
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2011
  • ISBN:9787512402171
  • 页数:444 页
图书介绍:本书以ARM9为基础,详细介绍以S3C2410器件为核心组成的嵌入式系统的硬件电路的原理与开发方法。主要内容包括:嵌入式系统的基本概念与开发流程,ARM微处理器与嵌入式系统硬件电路的原理,存储映射及嵌入式软件开发技术,ARM指令、程序设计以及开发工具的使用方法,Linux基础知识,Bootloader的原理,ViVi与uboot的移植与使用,Linux 2.4和2.6内核移植,Busybox工具以及根文件系统制作的方法,设备驱动程序的结构与开发实例,Linux网络编程基础知识与嵌入式Web 服务器建立方法,基于Qt/E的嵌入式GUI设计方法等。
《ARM嵌入式技术原理与应用》目录

第1章 嵌入式系统简介 1

1.1 嵌入式系统 1

1.1.1 嵌入式系统概念 2

1.1.2 嵌入式系统的分类 3

1.1.3 嵌入式处理器介绍 4

1.1.4 嵌入式系统组成 6

1.1.5 嵌入式系统开发 8

1.2 嵌入式系统的应用领域 9

1.3 嵌入式操作系统 11

1.3.1 操作系统 11

1.3.2 嵌入式操作系统简介 12

1.4 嵌入式系统的发展趋势 14

练习与思考题 17

第2章 ARM体系结构及编程模型 18

2.1 ARM微处理器的特点 18

2.1.1 ARM概述 18

2.1.2 ARM体系结构的特点 19

2.2 ARM微处理器系列介绍 20

2.2.1 ARM7系列 20

2.2.2 ARM9系列 21

2.2.3 ARM9E系列 21

2.2.4 ARM10E系列 21

2.2.5 ARM11系列 21

2.2.6 SecurCore系列 22

2.2.7 StrongARM和XScale系列 22

2.2.8 ARM Cortex系列 22

2.2.9 基于32位ARM核微处理器 23

2.2.10 ARM系列产品命名规则 23

2.3 ARM体系结构 23

2.3.1 体系结构概念 23

2.3.2 ARM体系结构 25

2.3.3 ARM9体系结构 26

2.4 ARM流水线结构 27

2.5 ARM总线结构 29

2.6 ARM微处理器的工作状态与模式 29

2.6.1 工作状态 29

2.6.2 工作状态切换 30

2.6.3 ARM微处理器的工作模式 30

2.7 ARM体系结构的存储器格式 32

2.7.1 ARM存储数据类型 32

2.7.2 ARM存储器组织 32

2.7.3 ARM存储器层次 34

2.8 寄存器组织 34

2.8.1 ARM状态下的寄存器组织 34

2.8.2 Thumb状态下的寄存器组织 37

2.8.3 程序状态寄存器 38

2.9 异常 40

2.9.1 ARM体系结构所支持的异常类型 40

2.9.2 对异常的响应 41

2.9.3 从异常返回 41

2.9.4 各类异常的具体描述 41

2.9.5 异常进入/退出 43

2.9.6 异常向量 44

2.9.7 异常优先级 44

练习与思考题 45

第3章 ARM指令系统 46

3.1 ARM指令系统版本 46

3.2 ARM微处理器指令格式 48

3.2.1 ARM指令特点 48

3.2.2 ARM指令格式 48

3.2.3 ARM指令条件码 50

3.3 ARM微处理器指令的寻址方式 51

3.3.1 寄存器寻址 51

3.3.2 立即寻址 51

3.3.3 寄存器偏移寻址 52

3.3.4 寄存器间接寻址 53

3.3.5 基址寻址 53

3.3.6 多寄存器寻址 54

3.3.7 堆栈寻址 54

3.3.8 块复制寻址 55

3.3.9 相对寻址 55

3.4 ARM指令分类 56

3.4.1 ARM跳转指令 56

3.4.2 ARM数据处理指令 58

3.4.3 ARM存储器访问指令 64

3.4.4 杂项指令 67

3.4.5 协处理器指令和异常中断指令 70

3.5 Thumb指令与等价的ARM指令 70

练习与思考题 71

第4章 ARM汇编程序设计 73

4.1 ARM汇编伪操作和宏指令 73

4.1.1 ADS下的伪操作和宏指令 74

4.1.2 GNU下的伪操作和宏指令 83

4.1.3 ADS与GNU编译环境下的比较 85

4.2 ARM ATPCS 86

4.2.1 基本ATPCS 86

4.2.2 ARM和Thumb程序混合使用 88

4.3 ARM程序设计 89

4.3.1 ARM汇编语言程序设计 89

4.3.2 ARM汇编语言程序实例 91

练习与思考题 92

第5章 ARM嵌入式系统软件设计 93

5.1 开发平台 93

5.1.1 概述 93

5.1.2 硬件开发环境 94

5.1.3 软件开发环境 97

5.2 ADS的使用简介 108

5.2.1 ADS的应用 108

5.2.2 AXD调试 113

5.3 ARM的启动过程分析 118

5.3.1 系统的初始化 118

5.3.2 初始化程序分析 120

5.4 嵌入式系统中的存储映射 132

5.4.1 ARM映像文件 132

5.4.2 分散装载技术 135

5.5 嵌入式系统中软件设计 139

5.5.1 嵌入式C编程规范 139

5.5.2 ARM汇编语言与C混合编程 140

5.5.3 中断 145

练习与思考题 154

第6章 ARM应用系统硬件设计 155

6.1 S3C2410X介绍 155

6.1.1 S3C2410X功能简介 155

6.1.2 引脚说明 161

6.2 开发板外围电路设计 169

6.2.1 电源电路 169

6.2.2 时钟和电源管理 171

6.2.3 复位电路 174

6.2.4 S3C2410X与外围电路的连接 175

6.2.5 存储器系统设计 177

6.3 开发板接口电路设计 183

6.3.1 I/O端口 183

6.3.2 DMA控制器 189

6.3.3 UART通用异步串行接口 196

6.3.4 USB接口 207

6.3.5 A/D转换与触摸屏 211

6.3.6 LCD控制器 218

6.3.7 I2C串行总线接口 227

6.3.8 I2S串行总线接口 235

6.3.9 网络接口 237

6.4 其他伺服电路 239

6.4.1 JTAG接口 239

6.4.2 看门狗 240

6.4.3 定时器 243

练习与思考题 253

第7章 Linux系统简介 254

7.1 Linux基础知识 254

7.1.1 什么是Linux 254

7.1.2 Linux应用开发 255

7.1.3 Linux特点 256

7.1.4 GNU与POSIX标准 256

7.2 Linux入门 257

7.2.1 Linux介绍 257

7.2.2 Linux的启动运行 261

7.2.3 Linux的文件系统 263

7.2.4 Linux常用命令 264

7.2.5 Linux文本编辑 269

7.2.6 Linux下的文件名与扩展名 270

练习与思考题 271

第8章 Linux编程基础 272

8.1 交叉开发环境的建立 272

8.1.1 嵌入式Linux系统开发流程 272

8.1.2 交叉编译概述 272

8.1.3 构建交叉工具链 279

8.1.4 嵌入式Linux开发环境组建方案 288

8.1.5 VMWare的安装与使用 290

8.1.6 安装RedHat9.0 290

8.1.7 配置宿主机 292

8.2 Shell脚本 295

8.2.1 什么是Shell 295

8.2.2 Shell脚本编程 297

8.2.3 Shell命令的集成 301

8.3 Makefile 303

8.3.1 GNU make 303

8.3.2 Makefile规则 305

练习与思考题 307

第9章 BootLoader 308

9.1 BootLoader基础 308

9.1.1 BootLoader简介 308

9.1.2 BootLoader的种类 311

9.1.3 BootLoader的基本原理 312

9.2 ViVi 313

9.2.1 ViVi命令 313

9.2.2 ViVi的配置与编译 315

9.2.3 ViVi代码分析 317

9.3 U-Boot 317

9.3.1 U-Boot介绍 317

9.3.2 U-Boot的启动过程及工作原理 318

9.3.3 U-Boot的移植 323

9.3.4 U-Boot的使用 329

练习与思考题 330

第10章 Linux内核的移植 331

10.1 Linux移植概述 331

10.1.1 Linux移植的概念 331

10.1.2 Linux移植的准备 332

10.1.3 移植过程的基本内容 332

10.2 Linux内核和结构 332

10.2.1 Linux内核概念 332

10.2.2 Linux内核的结构 333

10.2.3 嵌入式Linux的代码结构 334

10.3 Linux 2.4内核的移植 335

10.3.1 Linux 2.4内核配置、编译概述 335

10.3.2 Linux 2.4移植实例 337

10.3.3 Linux操作系统的启动 340

10.4 Linux 2.6内核移植 342

10.4.1 嵌入式Linux 2.6概述 342

10.4.2 Linux内核源代码目录 343

10.4.3 Linux 2.6移植实例 344

练习与思考题 349

第11章 Linux根文件系统制作 350

11.1 根文件系统概述 350

11.1.1 根文件系统的概念 350

11.1.2 文件系统的分类 351

11.1.3 Linux根文件系统目录结构 355

11.2 根文件系统的制作 356

练习与思考题 360

第12章 嵌入式Linux驱动开发 361

12.1 设备驱动程序基础 361

12.1.1 设备驱动程序概述 361

12.1.2 设备驱动程序的分类 364

12.1.3 处理器与设备间数据交换 364

12.1.4 驱动程序结构 365

12.2 驱动程序开发实例 368

12.2.1 编写驱动程序的基本要点 368

12.2.2 驱动程序实例开发 373

练习与思考题 381

第13章 嵌入式Linux应用开发 382

13.1 网络通信协议 382

13.1.1 TCP/IP 382

13.1.2 协议的选择 386

13.2 Linux网络编程基础 386

13.2.1 网络程序结构 386

13.2.2 Socket概念 387

13.2.3 Socket编程的基本函数 387

13.3 嵌入式Web服务器 397

13.3.1 嵌入式Web服务器概述 397

13.3.2 Boa的移植实例 398

13.4 嵌入式图形系统简介 407

13.4.1 Qt/Embedded 407

13.4.2 Microwindows 409

13.4.3 MiniGUI 409

13.5 基于Qt/E的嵌入式GUI设计 410

13.5.1 Qt/E和Qtopia开发模型 410

13.5.2 Qt/E开发环境的建立 411

13.5.3 Qt Creator的安装 420

13.6 Qt开发基础 422

13.7 Qt4开发实例 430

练习与思考题 441

参考文献 443

返回顶部