嵌入式系统的定义和组成 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