嵌入式系统原理与应用技术(第3版)
¥69.00定价
作者: 袁志勇
出版时间:2019年1月
出版社:北京航空航天大学出版社
- 北京航空航天大学出版社
- 9787512429239
- 284944
- 61200541-3
- 2019年1月
- 计算机科学与技术
- 电类、自动控制、机电一体化、计算机
- 本科
内容简介
本书以S3C24xx系列(S3C2410/S3C2440)嵌入式处理器为核心,介绍嵌入式系统硬件工作原理与接口应用技术、嵌入式程序设计及嵌入式Linux基础应用。主要内容有:嵌入式系统概论、ARM体系结构、ARM指令系统、时钟及电源管理、存储器与人机接口原理、DMA技术、中断与定时技术、串行通信接口、网络接口、Linux操作系统等。与旧版相比,本书增加了ARM Cortex基础知识、使用RealView MDK设计I/O接口程序,重新编写了ARM Linux程序设计基础,并对相关知识进行了更新。
目录
第1章嵌入式系统概论1
1.1嵌入式系统简介1
1.1.1嵌入式系统的定义1
1.1.2嵌入式系统的组成2
1.1.3嵌入式系统的应用与发展5
1.2嵌入式微处理器7
1.2.1嵌入式微处理器分类7
1.2.2ARM嵌入式微处理器10
1.2.3嵌入式微处理器选型14
1.3嵌入式操作系统15
1.3.1概况15
1.3.2Windows
CE简介16
1.3.3嵌入式Linux简介17
1.3.4μC/OSⅡ简介18
习题20
第2章ARM体系结构21
2.1ARM9嵌入式微处理器21
2.1.1ARM9的结构特点21
2.1.2ARM9指令集特点24
2.1.3ARM9工作模式26
2.2ARM9存储器组织结构28
2.2.1大端存储和小端存储28
2.2.2I/O端口的访问方式30
2.2.3内部寄存器30
2.3ARM9异常35
2.3.1异常的类型及向量地址36
2.3.2异常的优先级38
2.3.3进入和退出异常38
2.4S3C2410嵌入式微处理器42
2.4.1S3C2410及片内外围简介42
2.4.2S3C2410引脚信号44
2.4.3S3C2410专用寄存器49
2.4.4ARM920T总线接口单元简介55
2.5ARM
Cortex55
2.6GPIO端口57
2.6.1简介57
2.6.2GPIO端口操作举例58
习题60
第3章ARM指令系统61
3.1ARM指令集61
3.1.1ARM指令分类及格式61
3.1.2ARM指令寻址方式63
3.1.3常用ARM指令69
3.2ARM汇编伪指令与伪操作84
3.2.1常用ARM汇编伪指令84
3.2.2常用ARM汇编伪操作86
3.3Thumb和Thumb2指令集简介91
3.4ARM编程基础92
3.4.1ARM程序常用文件格式92
3.4.2ARM预定义变量93
3.4.3C语言与汇编混合编程93
3.4.4ARM系统引导程序简介97
3.5使用RealView MDK设计I/O接口应用程序99
3.5.1RealView
MDK集成开发工具及实验平台简介99
3.5.2使用RealView MDK设计I/O接口程序举例101
习题109
第4章时钟及电源管理110
4.1S3C2410时钟结构110
4.2S3C2410电源管理模式110
4.3相关特殊功能寄存器115
4.4常用单元电路设计119
4.4.1电源电路设计119
4.4.2晶振电路设计121
4.4.3复位电路设计122
习题122
第5章存储器与人机接口原理123
5.1存储器概述123
5.1.1SRAM和DRAM124
5.1.2NOR Flash和NAND Flash130
5.2存储系统机制134
5.2.1存储器接口方式135
5.2.2高速缓存机制(Cache)135
5.2.3存储管理单元(MMU)137
5.3S3C2410存储系统139
5.3.1S3C2410存储空间139
5.3.2S3C2410存储器接口设计142
5.4典型的人机接口147
5.4.1键盘接口147
5.4.2LED显示器150
5.4.3LCD接口152
5.4.4ADC和触摸屏接口154
习题165
第6章中断与定时技术167
6.1中断概述167
6.1.1中断向量167
6.1.2中断优先级168
6.1.3中断屏蔽169
6.2S3C2410中断系统170
6.2.1概述170
6.2.2中断控制寄存器173
6.2.3中断举例183
6.3定时器工作原理186
6.3.1概述186
6.3.2工作原理186
6.4S3C2410定时器187
6.4.1定时器及PWM187
6.4.2看门狗定时器197
6.4.3RTC199
习题209
第7章DMA技术210
7.1DMA概述210
7.1.1DMA简介210
7.1.2DMA传输过程210
7.2S3C2410
DMA212
7.2.1DMA请求源212
7.2.2DMA模式213
7.2.3DMA操作过程214
7.2.4DMA时序215
7.3S3C2410 DMA寄存器217
7.3.1传输控制寄存器217
7.3.2状态寄存器221
7.4DMA操作编程222
7.4.1DMA操作初始化222
7.4.2DMA操作编程举例222
习题224
第8章串行通信接口225
8.1串行通信基础知识225
8.1.1串行数据传送模式225
8.1.2串行通信方式226
8.1.3RS232C串行通信接口228
8.1.4RS422和RS485标准230
8.2S3C2410串行接口230
8.2.1S3C2410
UART结构231
8.2.2S3C2410
UART工作原理232
8.2.3S3C2410
UART专用寄存器234
8.3串行通信举例241
8.3.1RS232C接口设计241
8.3.2串口初始化242
8.3.3发送/接收程序举例243
8.4IIS串行数字音频接口245
8.4.1IIS接口总线格式249
8.4.2IIS接口应用举例250
习题253
第9章网络接口254
9.1网络接口技术概述254
9.1.1分布嵌入式系统结构254
9.1.2分布嵌入式网络通信方式256
9.2IIC接口257
9.2.1IIC总线257
9.2.2S3C2410
IIC接口261
9.3以太网接口268
9.3.1嵌入式以太网基础知识268
9.3.2S3C2410以太网接口275
9.3.3socket网络编程281
9.3.4嵌入式Web服务器程序设计291
习题297
第10章ARM Linux程序设计基础298
10.1Linux操作系统298
10.1.1Linux的特点298
10.1.2Linux内核的结构299
10.1.3Linux设备管理307
10.2Linux操作系统安装与使用313
10.2.1环境搭建313
10.2.2Linux的使用316
10.3Linux程序设计323
10.3.1Bootloader引导程序323
10.3.2Linux的移植332
10.3.3驱动程序开发334
10.3.4应用程序开发336
10.4ARM Linux驱动程序设计实例341
10.4.1S3C2440上LED驱动开发342
10.4.2S3C2440上ADC驱动开发350
习题359
附录1ARM指令表360
附录2ARM汇编程序上机实验举例363
实验一ARM汇编程序的上机过程实验363
实验二ARM指令寻址方式实验367
参考文献371
1.1嵌入式系统简介1
1.1.1嵌入式系统的定义1
1.1.2嵌入式系统的组成2
1.1.3嵌入式系统的应用与发展5
1.2嵌入式微处理器7
1.2.1嵌入式微处理器分类7
1.2.2ARM嵌入式微处理器10
1.2.3嵌入式微处理器选型14
1.3嵌入式操作系统15
1.3.1概况15
1.3.2Windows
CE简介16
1.3.3嵌入式Linux简介17
1.3.4μC/OSⅡ简介18
习题20
第2章ARM体系结构21
2.1ARM9嵌入式微处理器21
2.1.1ARM9的结构特点21
2.1.2ARM9指令集特点24
2.1.3ARM9工作模式26
2.2ARM9存储器组织结构28
2.2.1大端存储和小端存储28
2.2.2I/O端口的访问方式30
2.2.3内部寄存器30
2.3ARM9异常35
2.3.1异常的类型及向量地址36
2.3.2异常的优先级38
2.3.3进入和退出异常38
2.4S3C2410嵌入式微处理器42
2.4.1S3C2410及片内外围简介42
2.4.2S3C2410引脚信号44
2.4.3S3C2410专用寄存器49
2.4.4ARM920T总线接口单元简介55
2.5ARM
Cortex55
2.6GPIO端口57
2.6.1简介57
2.6.2GPIO端口操作举例58
习题60
第3章ARM指令系统61
3.1ARM指令集61
3.1.1ARM指令分类及格式61
3.1.2ARM指令寻址方式63
3.1.3常用ARM指令69
3.2ARM汇编伪指令与伪操作84
3.2.1常用ARM汇编伪指令84
3.2.2常用ARM汇编伪操作86
3.3Thumb和Thumb2指令集简介91
3.4ARM编程基础92
3.4.1ARM程序常用文件格式92
3.4.2ARM预定义变量93
3.4.3C语言与汇编混合编程93
3.4.4ARM系统引导程序简介97
3.5使用RealView MDK设计I/O接口应用程序99
3.5.1RealView
MDK集成开发工具及实验平台简介99
3.5.2使用RealView MDK设计I/O接口程序举例101
习题109
第4章时钟及电源管理110
4.1S3C2410时钟结构110
4.2S3C2410电源管理模式110
4.3相关特殊功能寄存器115
4.4常用单元电路设计119
4.4.1电源电路设计119
4.4.2晶振电路设计121
4.4.3复位电路设计122
习题122
第5章存储器与人机接口原理123
5.1存储器概述123
5.1.1SRAM和DRAM124
5.1.2NOR Flash和NAND Flash130
5.2存储系统机制134
5.2.1存储器接口方式135
5.2.2高速缓存机制(Cache)135
5.2.3存储管理单元(MMU)137
5.3S3C2410存储系统139
5.3.1S3C2410存储空间139
5.3.2S3C2410存储器接口设计142
5.4典型的人机接口147
5.4.1键盘接口147
5.4.2LED显示器150
5.4.3LCD接口152
5.4.4ADC和触摸屏接口154
习题165
第6章中断与定时技术167
6.1中断概述167
6.1.1中断向量167
6.1.2中断优先级168
6.1.3中断屏蔽169
6.2S3C2410中断系统170
6.2.1概述170
6.2.2中断控制寄存器173
6.2.3中断举例183
6.3定时器工作原理186
6.3.1概述186
6.3.2工作原理186
6.4S3C2410定时器187
6.4.1定时器及PWM187
6.4.2看门狗定时器197
6.4.3RTC199
习题209
第7章DMA技术210
7.1DMA概述210
7.1.1DMA简介210
7.1.2DMA传输过程210
7.2S3C2410
DMA212
7.2.1DMA请求源212
7.2.2DMA模式213
7.2.3DMA操作过程214
7.2.4DMA时序215
7.3S3C2410 DMA寄存器217
7.3.1传输控制寄存器217
7.3.2状态寄存器221
7.4DMA操作编程222
7.4.1DMA操作初始化222
7.4.2DMA操作编程举例222
习题224
第8章串行通信接口225
8.1串行通信基础知识225
8.1.1串行数据传送模式225
8.1.2串行通信方式226
8.1.3RS232C串行通信接口228
8.1.4RS422和RS485标准230
8.2S3C2410串行接口230
8.2.1S3C2410
UART结构231
8.2.2S3C2410
UART工作原理232
8.2.3S3C2410
UART专用寄存器234
8.3串行通信举例241
8.3.1RS232C接口设计241
8.3.2串口初始化242
8.3.3发送/接收程序举例243
8.4IIS串行数字音频接口245
8.4.1IIS接口总线格式249
8.4.2IIS接口应用举例250
习题253
第9章网络接口254
9.1网络接口技术概述254
9.1.1分布嵌入式系统结构254
9.1.2分布嵌入式网络通信方式256
9.2IIC接口257
9.2.1IIC总线257
9.2.2S3C2410
IIC接口261
9.3以太网接口268
9.3.1嵌入式以太网基础知识268
9.3.2S3C2410以太网接口275
9.3.3socket网络编程281
9.3.4嵌入式Web服务器程序设计291
习题297
第10章ARM Linux程序设计基础298
10.1Linux操作系统298
10.1.1Linux的特点298
10.1.2Linux内核的结构299
10.1.3Linux设备管理307
10.2Linux操作系统安装与使用313
10.2.1环境搭建313
10.2.2Linux的使用316
10.3Linux程序设计323
10.3.1Bootloader引导程序323
10.3.2Linux的移植332
10.3.3驱动程序开发334
10.3.4应用程序开发336
10.4ARM Linux驱动程序设计实例341
10.4.1S3C2440上LED驱动开发342
10.4.2S3C2440上ADC驱动开发350
习题359
附录1ARM指令表360
附录2ARM汇编程序上机实验举例363
实验一ARM汇编程序的上机过程实验363
实验二ARM指令寻址方式实验367
参考文献371