《嵌入式系统原理与开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:范延滨,于忠清,郑立爱编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111292777
  • 页数:375 页
图书介绍:本书基于“七个一”嵌入式系统学习方案:一个体系结构、一款微处理器、一款开发板、一种操作系统、一种驱动程序、一类开发环境、一类开发方法。优选了ARM体系结构、基于ARM7TDMI的S3C44B0X处理器、μC/OS-II操作系统、RVDS开发环境,由浅入深的对其逐一详细分析和研究,最终引导读者自己独立设计一款具有丰富外部接口的开发板、编写BootLoader、移植μC/OS-II和开发主要驱动程序,全面地完成一款开发板软硬件的研发。

第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 ARM Load/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 GNU ARM汇编语言 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.10 μC/OS-II中的信号量集 162

5.10.1 信号量集的定义 163

5.10.2 信号量集的操作 166

5.11 μC/OS-II中的内存管理 168

5.11.1 内存控制块 168

5.11.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存储控制器的SFR 184

6.2.3 S3C44B0X存储控制器应用编程 187

6.3 S3C44B0X的GPIO端口功能及应用开发 189

6.3.1 S3C44B0X的GPIO概述 189

6.3.2 S3C44B0X的GPIO端口的SFR 191

6.3.3 S3C44B0X的GPIO端口的应用编程 197

6.4 S3C44B0X时钟电源管理功能及开发 198

6.4.1 S3C44B0X的时钟电源管理部件的简述 198

6.4.2 S3C44B0X的时钟电源管理部件的SFR 199

6.5 S3C44B0X的INTC功能及开发 201

6.5.1 S3C44B0X的INTC概述 201

6.5.2 S3C44B0X的INTC的SFR 203

6.6 S3C44B0X的UART功能及应用开发 209

6.6.1 S3C44B0X的UART概述 209

6.6.2 S3C44B0X的UART的SFR 211

6.7 S3C44B0X的WDT定时器功能及应用开发 216

6.7.1 S3C44B0X的看门狗概述 216

6.7.2 S3C44B0X的WDT的SFR 217

6.8 S3C44B0X的IIC定时器功能及应用开发 217

6.8.1 S3C44B0X的IIC概述 218

6.8.2 S3C44B0X的IIC的SFR 219

6.9 S3C44B0X的LCD功能及应用开发 221

6.9.1 S3C44B0X的LCD控制器概述 221

6.9.2 S3C44B0X的LCD控制器的SFR 224

6.10 S3C44B0X的DMAC功能及应用开发 227

6.10.1 S3C44B0X的DMAC概述 227

6.10.2 S3C44B0X的DMAC的SFR 229

6.11 S3C44B0X的RTC功能及应用开发 234

6.11.1 S3C44B0X的RTC概述 235

6.11.2 S3C44B0X的RTC的SFR 236

6.12 S3C44B0X的PWM定时器功能及应用开发 241

6.12.1 S3C44B0X的PWM概述 241

6.12.2 S3C44B0X的PWM的SFR 244

6.13 S3C44B0X的IIS功能及应用开发 247

6.13.1 S3C44B0X的IIS概述 248

6.13.2 S3C44B0X的IIS的SFR 250

6.14 S3C44B0X的SIO功能及应用开发 252

6.14.1 S3C44B0X的SIO概述 252

6.14.2 S3C44B0X的SIO的SFR 254

6.15 S3C44B0X的ADC功能及应用开发 256

6.15.1 S3C44B0X的ADC概述 256

6.15.2 S3C44B0X的ADC的SFR 257

第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.10 CF卡/ATA接口的设计 306

7.11 PCB板图 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 Stagel程序设计 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.H 357

8.3.3 OS_CPU_A.ASM 358

8.3.4  OS_CPU_C.C 362

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