普通高等教育“十一五”规划教材:嵌入式系统原理与开发
作者:范延滨 等编著
出版:机械工业出版社 2010.3
页数:375
定价:39.00 元
ISBN-13:9787111292777
ISBN-10:7111292774
去豆瓣看看 序
前言
第1章 嵌入式系统概述1
1.1 嵌入式系统的概念1
1.1.1 嵌入式系统定义1
1.1.2 嵌入式系统特点2
1.2 嵌入式系统分类4
1.3 嵌入式系统组成结构5
1.4 嵌入式处理器简介8
1.4.1 嵌入式处理器分类8
1.4.2 嵌入式微处理器9
1.4.3 嵌入式微控制器9
1.4.4 嵌入式数字信号处理器10
1.4.5 嵌入式片上系统10
1.5 嵌入式操作系统简介10
1.5.1 嵌入式操作系统发展11
1.5.2 嵌入式实时操作系统11
1.5.3 嵌入式操作系统选型12
1.5.4 几种嵌入式操作系统比较13
1.6 嵌入式系统设计流程14
.1.6.1 嵌入式系统开发模式15
1.6.2 嵌入式系统开发流程16
1.7 嵌入式系统应用16
第2章 ARM处理器19
2.1 ARM系列处理器概述19
2.1.1 ARM系列处理器术语19
2.1.2 ARM处理器体系结构21
2.1.3 ARM处理器产品系列22
2.1.4 ARM处理器技术进展23
2.1.5 ARM处理器组成结构27
2.2 ARM处理器的寄存器文件29
2.2.1 ARM处理器的工作状态29
2.2.2 ARM处理器的工作模式30
2.2.3 ARM状态下寄存器组织31
2.2.4 Thumb状态下寄存器组织34
2.3 ARM处理器的异常与中断36
2.4 ARM处理器的流水线结构40
2.4.1 ARM流水线概述40
2.4.2 ARM7的3级流水线40
2.5 ARM处理器的存储器组织41
2.5.1 ARM存储器的层次42
2.5.2 ARM存储器的管理44
2.5.3 ARM非对齐的存储访问操作45
2.6 ARM处理器的片上总线46
2.6.1 AMBA简介46
2.6.2 AHB简介47
2.6.3 ASB简介48
2.6.4 APB简介48
2.7 ARM处理器的指令体系结构48
第3章 ARM指令系统50
3.1 ARM指令集概述50
3.2 ARM寻址方式54
3.3 ARM数据处理指令59
3.4 ARMLoad/Store指令67
3.5 ARM程序状态寄存器传送指令71
3.6 ARM转移指令73
3.7 ARM异常中断指令75
3.8 ARM协处理器指令76
第4章 ARM汇编语言程序设计80
4.1 概述80
4.1.1 开发工具选择80
4.1.2 ADS开发工具81
4.2 ADS环境下的伪操作和伪指令82
4.2.1 符号定义类伪操作83
4.2.2 数据定义类伪操作85
4.2.3 汇编控制类伪操作89
4.2.4 信息报告类伪操作91
4.2.5 其他伪操作92
4.2.6 ARM汇编语言伪指令详解96
4.2.7 Thumb汇编语言伪指令详解98
4.3 ARM汇编语言程序设计98
4.3.1 ARM汇编语言程序设计概述98
4.3.2 ARM汇编语言语句格式99
4.4 GNUARM汇编语言102
4.5 ARM汇编语言程序设计实例106
4.5.1 ARM汇编语言子程序格式106
4.5.2 ARM汇编语言子程序107
4.5.3 ARM汇编语言子程序与C
语言112
第5章 μC/OS-II嵌入式操作系统113
5.1 μC/OS-II嵌入式操作系统的概念113
5.2 μC/OS-II中的任务115
5.2.1 任务定义116
5.2.2 任务堆栈119
5.2.3 任务控制块120
5.2.4 任务调度123
5.2.5 任务创建130
5.2.6 任务的挂起和恢复132
5.2.7 其他任务管理133
5.3 μC/OS-II中的中断135
5.3.1 中断过程135
5.3.2 中断服务程序136
5.3.3 中断级任务切换函数137
5.3.4 临界段137
5.4 μC/OS-II中的时钟138
5.4.1 时钟节拍138
5.4.2 时间管理140
5.5 μC/OS-II中任务的同步与通信142
5.5.1 同步142
5.5.2 事件143
5.5.3 事件控制块144
5.5.4 事件方法147
5.6 μC/OS-II中的信号量150
5.7 μC/OS-II中的互斥信号量153
5.8 μC/OS-II中的消息邮箱155
5.9 μC/OS-II中的消息队列157
5.1 0μC/OS-II中的信号量集162
5.1 0.1 信号量集的定义163
5.1 0.2 信号量集的操作166
5.1 1μC/OS-II中的内存管理168
5.1 1.1 内存控制块168
5.1 1.2 动态内存的管理170
第6章 S3C44B0X嵌入式微处理器173
6.1 S3C44B0X简介173
6.1.1 S3C44B0X的功能173
6.1.2 S3C44B0X的内特性174
6.1.3 S3C44B0X的外特性177
6.2 S3C44B0X存储控制器功能及应用开发181
6.2.1 S3C44B0X存储空间概述181
6.2.2 S3C44B0X存储控制器的SFR184
6.2.3 S3C44B0X存储控制器应用编程187
6.3 S3C44B0X的GPIO端口功能及应用开发189
6.3.1 S3C44B0X的GPIO概述189
6.3.2 S3C44B0X的GPIO端口的SFR191
6.3.3 S3C44B0X的GPIO端口的应用编程197
6.4 S3C44B0X时钟电源管理功能及开发198
6.4.1 S3C44B0X的时钟电源管理部件的简述198
6.4.2 S3C44B0X的时钟电源管理部件的SFR199
6.5 S3C44B0X的INTC功能及开发201
6.5.1 S3C44B0X的INTC概述201
6.5.2 S3C44B0X的INTC的SFR203
6.6 S3C44B0X的UART功能及应用开发209
6.6.1 S3C44B0X的UART概述209
6.6.2 S3C44B0X的UART的SFR211
6.7 S3C44B0X的WDT定时器功能及应用开发216
6.7.1 S3C44B0X的看门狗概述216
6.7.2 S3C44B0X的WDT的SFR217
6.8 S3C44B0X的IIC定时器功能及应用开发217
6.8.1 S3C44B0X的IIC概述218
6.8.2 S3C44B0X的IIC的SFR219
6.9 S3C44B0X的LCD功能及应用开发221
6.9.1 S3C44B0X的LCD控制器概述221
6.9.2 S3C44B0X的LCD控制器的SFR224
6.1 0S3C44B0X的DMAC功能及应用开发227
6.1 0.1 S3C44B0X的DMAC概述227
6.1 0.2 S3C44B0X的DMAC的SFR229
6.1 1S3C44B0X的RTC功能及应用开发234
6.1 1.1 S3C44B0X的RTC概述235
6.1 1.2 S3C44B0X的RTC的SFR236
6.1 2S3C44B0X的PWM定时器功能及应用开发241
6.1 2.1 S3C44B0X的PWM概述241
6.1 2.2 S3C44B0X的PWM的SFR244
6.1 3S3C44B0X的IIS功能及应用开发247
6.1 3.1 S3C44B0X的IIS概述248
6.1 3.2 S3C44B0X的IIS的SFR250
6.1 4S3C44B0X的SIO功能及应用开发252
6.1 4.1 S3C44B0X的SIO概述252
6.1 4.2 S3C44B0X的SIO的SFR254
6.1 5S3C44B0X的ADC功能及应用开发256
6.1 5.1 S3C44B0X的ADC概述256
6.1 5.2 S3C44B0X的ADC的SFR257
第7章 基于S3C44B0X硬件系统开发259
7.1 S3C44B0X硬件开发概述259
7.1.1 S3C44B0X开发板的结构259
7.1.2 硬件设计技术260
7.2 S3C44B0X的硬件特性264
7.3 核心板的设计267
7.3.1 核心板的概述267
7.3.2 Flash的扩展接口267
7.3.3 SDRAM的扩展接口272
7.3.4 时钟与复位电路设计277
7.3.5 JTAG调试电路设计279
7.4 电源板的设计280
7.5 UART接口的设计281
7.6 USB接口的设计283
7.7 NET接口的设计287
7.8 矩阵键盘和数码管显示接口的设计295
7.9 LCD接口的设计301
7.1 0CF卡/ATA接口的设计306
7.1 1PCB板图313
第8章 基于S3C44B0X的软件系统开发315
8.1 BootLoader技术315
8.1.1 BIOS技术315
8.1.2 BootLoader的基本概念316
8.1.3 基于Linux的BootLoader的基本原理318
8.1.4 开发板的主要配置324
8.2 基于S3C44B0X的BootLoader的设计324
8.2.1 异常中断机制324
8.2.2 Stage1程序设计329
8.2.3 Stage2程序设计344
8.2.4 UART0初始化347
8.3 基于S3C44B0X的μC/OS-II移植354
8.3.1 μC/OS-II的移植技术354
8.3.2 OS_CPU.H357
8.3.3 OS_CPU_A.ASM358
8.3.4 OS_CPU_C.C362
8.4 基于μC/OS-II的串行口驱动程序开发364
8.4.1 无操作系统的串行口驱动程序开发364
8.4.2 基于μC/OS-II的串行口通信程序开发370
8.5 基于μC/OS-II的A/D驱动程序开发371
8.6 基于μC/OS-II的设备驱动程序统一框架373
参考文献376
范延滨,1985年本科毕业于山东师范大学物理学专业,1988年硕士研究生毕业于山东师范大学量子电子学专业,2001年晋升为青岛大学教授。现任青岛大学信息工程学院体系结构教研室主任,青岛市计算机学会嵌入式分会秘书长。
多年来,主要从事嵌入式系统、小波应用方面的教学与研究工作。已出版教材2部,发表学术论文30余篇,完成科研项目20余项,受到各类奖励10余项。
在嵌入式系统方面,从1990年开始从搴MCS-51单片机应用开发,至今已经有20年的教学与研发经历;先后应用过MCS-51、PIC、ARM7、ARM9、XScaIe、COrte x—M3等系列嵌入式处理器;应用过μ Li nuX、μC/os—|1等嵌入式操作系统;完成了从工业控制到信息家电的多个研发项目。在小波应用方面,主要基于梯度矢量流动态轮廓模型(GVF Snake),应用小波进行医学图像分割;基于小波包和提升小波进行数字水印技术的研究与应用。
《嵌入式系统原理与开发》基于“七个一”嵌入式系统学习方案:一个体系结构、一款微处理器、一款开发板、一种操作系统、一种驱动程序、一类开发环境、一类开发方法。优选了ARM体系结构、基于ARM7TDMI的S3C44B0X处理器、μC/OS-Ⅱ操作系统、RVDS开发环境,由浅入深地对其逐一详细分析和研究,最终引导读者自己独立设计一款具有丰富外部接口的开发板、编写BootLoader、移植μC/OS-Ⅱ和开发主要驱动程序,全面地完成一款开发板软硬件的研发。
《嵌入式系统原理与开发》强调“All in One”。一书贯通、速成高手!第1章对嵌入式系统的技术与应用进行了较全面地概述;第2章和第3章详细介绍了ARM处理器技术和ARM指令系统;第4章讨论了ARM汇编语言程序设计方法并给出了设计实例;第5章详细分析了μC/OS-Ⅱ嵌入式操作系统;第6章介绍了S3C44B0X微处理器并给出了寄存器的配置方法;第7章基于S3C44B0X设计了一款多功能开发板;第8章基于自己设计的开发板详细介绍了软件系统的设计技术。
《嵌入式系统原理与开发》适合于作高等学校计算机类、电子信息类、仪器仪表类本科生教材,也可供从事基于ARM的嵌入式系统开发的工程技术人员参考。