《ARM9嵌入式系统设计基础教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:黄智伟,邓月明,王彦编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2008
  • ISBN:9787811243376
  • 页数:461 页
图书介绍:本书分13章,系统介绍了嵌入式系统的基础知识,ARM体系结构,32 Bit RISC微处理器 S3C2410A,嵌入式系统的存储器系统,嵌入式系统输入/输出设备接口,嵌入式系统总线接口,嵌入式系统网络接口,嵌入式系统软件及操作系统基础,ARM汇编语言程序设计,Bootloader设计,Linux操作系统基础,嵌入式Linux软件设计,图形用户接口(GUI)的应用。

嵌入式系统的定义和组成 1

嵌入式系统的定义 1

嵌入式系统的发展趋势 1

嵌入式系统的组成 3

RTOS 6

嵌入式微处理器体系结构 8

冯&诺依曼结构与哈佛结构 8

精简指令集计算机 9

流水线技术 10

信息存储的字节顺序 11

嵌入式微处理器的结构和类型 13

嵌入式微控制器 13

嵌入式微处理器 14

DSP处理器 17

嵌入式片上系统 17

多核处理器 18

思考题与习题 18

ARM体系结构简介 20

ARM微处理器结构 23

ARM7微处理器 23

ARM9微处理器 24

ARM9E微处理器 25

ARM10E微处理器 26

SecurCore微处理器 26

StrongARM微处理器 26

XScale微处理器 27

ARM微处理器的寄存器结构 27

处理器的运行模式 27

处理器的工作状态 28

处理器的寄存器组织 28

Thumb状态的寄存器集 32

ARM微处理器的异常处理 33

ARM体系结构的异常类型 33

异常类型的含义 34

异常的响应过程 35

应用程序中的异常处理 35

ARM的存储器结构 35

ARM微处理器指令系统 37

基本寻址方式 37

ARM指令集 40

Thumb指令集 46

ARM微处理器的接口 49

ARM协处理器接口 49

ARM AMBA接口 50

ARM I/O结构 51

ARM JTAG调试接口 52

思考题与习题 54

S3C2410A简介 57

S3C2410A的内部结构 57

S3C2410A的技术特点 58

S3C2410A存储器控制器 63

S3C2410A存储器控制器特性 63

S3C2410A存储器映射 63

复位、时钟和电源管理 65

S3C2410A的I/O口 68

S3C2410A的I/O口配置 68

S3C2410A的I/O口寄存器 71

S3C2410A的中断控制 76

ARM系统的中断处理 76

S3C2410A的中断控制器 77

S3C2410A的中断编程实例 80

S3C2410A的DMA控制 81

DMA工作原理 81

S3C2410A的DMA控制器 82

S3C2410A的DMA编程实例 87

思考题与习题 88

存储器系统概述 89

存储器系统的层次结构 89

高速缓冲存储器 90

存储管理单元 90

嵌入式系统存储设备分类 92

存储器部件的分类 92

存储器的组织和结构 92

常见的嵌入式系统存储器 93

NOR Flash接口电路 96

NOR Flash存储器Am29LV160D 96

S3C2410A与NOR Flash存储器的接口电路 97

NAND Flash接口电路 99

S3C2410A NAND Flash控制器 99

S3C2410A与NAND Flash存储器的接口电路 101

SDRAM接口电路 102

CF卡接口电路 105

PCMCIA接口规范 105

S3C2410A的CF卡接口电路 105

CF卡的读/写操作 106

SD卡接口电路 107

SD卡的接口规范 107

S3C2410A的SD卡接口电路 108

IDE接口电路 109

S3C2410A的IDE接口电路 109

IDE硬盘读/写操作 109

思考题与习题 112

通用输入/输出接口 114

通用输入/输出接口原理与结构 114

S3C2410A输入/输出接口编程实例 115

A/D转换器接口 117

A/D转换的方法和原理 117

S3C2410A的A/D转换器 119

S3C2410A A/D接口编程实例 123

D/A转换器接口 125

D/A转换器的工作原理 125

S3C2410A与D/A转换器的接口电路 128

键盘与LED数码管接口 129

键盘与LED数码管接口基本原理与结构 129

用I/O口实现键盘接口 131

采用专用芯片实现键盘及LED接口 132

LCD显示接口 135

LCD显示接口原理与结构 135

S3C2410A的LCD控制器 137

S3C2410A LCD显示的编程实例 146

触摸屏接口 149

触摸屏工作原理与结构 149

采用专用芯片的触摸屏控制接口 150

S3C2410A的触摸屏接口电路 151

思考题与习题 156

串行接口 158

串行接口基本原理与结构 158

S3C2410A的UART 162

与S3C2410A的UART连接的串行接口电路 168

S3C2410A的UART编程实例 170

I2 C接口 174

I2C接口基本原理与结构 174

S3C2410A的I2C接口 175

S3C2410A的I2C接口应用实例 177

USB接口 181

USB接口基本原理与结构 181

S3C2410A的USB控制器 184

S3C2410A的USB接口电路与驱动程序 185

SPI接口 187

SPI接口基本原理与结构 187

S3C2410A的SPI接口电路 189

S3C2410A的SPI接口编程实例 194

PCI接口 196

PCI接口基本结构 196

PCI接口电路 198

I2S总线接口 200

数字音频简介 200

I2S总线结构 202

S3C2410A的I2S总线接口 204

S3C2410A的I2S总线接口电路与编程 208

思考题与习题 210

以太网接口 212

以太网基础知识 212

嵌入式以太网接口的实现方法 214

在嵌入式系统中主要处理的以太网协议 215

网络编程接口 217

以太网的物理层接口及编程 217

CAN总线接口 223

CAN总线概述 223

在嵌入式处理器上扩展CAN总线接口 224

S3C2410A与MCP2510的CAN通信接口电路 229

思考题与习题 230

嵌入式软件基础 232

嵌入式软件的特点 232

嵌入式软件的分类 233

嵌入式软件的体系结构 233

嵌入式系统的设备驱动层 235

嵌入式中间件 237

嵌入式操作系统基础 237

嵌入式操作系统的功能 237

嵌入式操作系统的分类 238

常见的嵌入式操作系统简介 240

嵌入式系统的任务管理 242

单道程序设计和多道程序设计 242

进程、线程和任务 243

任务的实现 245

任务的调度 248

实时系统调度 250

嵌入式系统的存储管理 252

嵌入式存储管理方式的特点 252

存储管理的实模式与保护模式 252

分区存储管理 253

地址映射 254

页式存储管理 255

虚拟页式存储管理 256

I/O设备管理 257

I/O编址 257

I/O设备的控制方式 258

I/O软件 258

思考题与习题 260

ADS集成开发环境 262

ADS工具包的组成 262

ADS开发工具集 264

Code Warrior IDE的创建 266

AXD调试器的使用 271

ARM汇编伪指令 272

数据常量定义伪指令 273

数据变量定义伪指令 273

内存分配伪指令 274

汇编控制伪指令 277

其他常用的伪指令 279

ARM的汇编语言结构 283

ARM汇编语言程序结构 283

ARM汇编语言的语句格式 284

基于Windows下ADS的汇编语言程序结构 285

基于Linux下GCC的汇编语言程序结构 286

ARM汇编语言程序调试 287

ADS软件模拟环境下的程序调试 287

ADS硬件仿真器环境下的程序调试 288

ADS Wiggler调试电缆环境下的程序调试 290

Linux环境下的gdb程序调试 291

ARM汇编语言与C语言混合编程 294

基本的ATPCS 294

汇编程序中调用C程序 296

C程序中调用汇编程序 296

C程序中内嵌汇编语句 297

从汇编程序中访问C程序变量 298

思考题与习题 299

Bootloader概述 301

Bootloader的作用 301

Bootloader的工作模式 303

Bootloader的启动流程 304

S3C2410平台下Linux的Bootloader 306

vivi 306

U-boot 324

其他常见的Bootloader 327

Windows CE.NET的Bootloader 327

Blob 329

思考与习题 330

嵌入式Linux的开发环境 331

交叉开发概述 331

桌面Linux的开发工具链 332

嵌入式Linux的交叉开发工具链 333

桌面Linux的安装 337

双操作系统环境 337

Cygwin模拟环境 338

VMware虚拟机环境 338

Linux的使用 339

Linux基本命令 339

vi编辑器的使用 354

gcc编译器 357

make工具和Makefile文件 358

Linux内核结构 362

核心子系统 362

设备驱动程序 364

Linux目录结构 366

Linux源文件的目录结构 366

Linux运行系统的目录结构 368

Linux文件系统 369

文件系统与内核的关系 369

常见通用Linux文件系统 371

常见嵌入式Linux文件系统 372

根文件系统的选择 375

思考题与习题 376

移植的基本概念 377

Bootloader的移植 378

关键文件的修改 378

串口设置示例 380

Bootloader的交叉编译 381

Bootloader的下载 382

嵌入式Linux内核的移植 384

内核移植的准备 384

关键文件的修改 384

内核的配置与裁剪 389

内核的编译 391

内核的下载 392

嵌入式Linux文件系统的移植 393

Linux下设备驱动程序的开发 394

驱动程序概述 394

重要的数据结构和函数 397

字符设备驱动程序的组成 401

动态加载方式和静态加载方式 403

字符设备驱动开发示例 406

应用程序开发 411

应用程序的加载方式 411

应用程序的GDB/GDBSERVER联机调试 416

字符设备应用程序的开发 419

思考题与习题 420

图形用户接口的层次结构 421

图形基础设施 421

高级图形函数库 422

GUI窗口管理系统 423

桌面Linux系统GUI 423

KDE 423

GNOME 425

嵌入式Linux系统GUI 426

MiniGUI 427

Qtopia 428

Nano-X 429

MiniGUI的开发初步 430

MiniGUI的开发环境 430

MiniGUI的移植 431

MiniGUI应用编程库 435

应用程序编写示例 435

Qt/E 440

Qt/E的应用架构 440

QVFB虚拟运行环境 441

Qt开发及运行环境的创建 442

Qt/E应用程序在PC机虚拟平台上的运行 442

Qt/E应用程序在嵌入式设备中的运行 444

Qtopia窗口系统在PC机虚拟平台上的运行 447

Qtopia窗口系统在嵌入式设备中的运行 448

Qt应用程序的开发 451

Qt/E基本控件 451

开发工具Qt Designer介绍 453

控制台上的Qt/E应用编程 454

Qtopia上的Qt/E应用编程 458

思考题与习题 459

参考文献 461