《AT91系列ARM微控制器体系结构与开发实例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:朱义君等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2005
  • ISBN:7810776002
  • 页数:357 页
图书介绍:本书详细介绍了AT91系列微控制器的体系结构、AT91系列微控制器的片内资源。ARM指令集合汇编程序设计、AT91的C/C++编程和调试等。

目录 1

第1章 AT91系列微控制器的体系结构 1

1.1 AT91系列微控制器概述 1

1.2 AT91X408xx系列微控制器 3

1.2.1 体系结构 3

1.2.2 存储器映射 9

1.2.3 内嵌Flash的AT91X408xx系列微控制器 10

1.3 AT91M55800A微控制器 17

1.4 AT91RM9200微控制器 24

第2章 AT91系列微控制器的片内资源 35

2.1 外部总线接口EBI 35

2.1.1 功能介绍 35

2.1.2 寄存器描述 44

2.2 省电模块PS 47

2.2.1 功能介绍 47

2.2.2 寄存器描述 48

2.3 先进中断控制器AIC 50

2.3.1 功能介绍 51

2.3.2 寄存器描述 56

2.4 并行I/O控制器PIO 60

2.4.1 功能介绍 60

2.4.2 寄存器描述 64

2.5 看门狗定时器WD 70

2.5.1 功能介绍 70

2.5.2 寄存器描述 71

2.6.1 功能介绍 73

2.6 特殊功能寄存器SF 73

2.6.2 寄存器描述 74

2.7 通用同步/异步收发器USART 77

2.7.1 功能介绍 77

2.7.2 寄存器描述 83

2.8 定时器/计数器 94

2.8.1 功能介绍 94

2.8.2 寄存器描述 102

2.9.1 功能介绍 114

2.9 先进电源管理控制器APMC 114

2.9.2 寄存器描述 121

2.10 实时时钟RTC 128

2.10.1 功能介绍 128

2.10.2 寄存器描述 130

2.11 串行外围接口SPI 137

2.11.1 功能介绍 138

2.11.2 寄存器描述 144

2.12 A/D转换器 152

2.12.1 功能介绍 152

2.12.2 寄存器描述 154

2.13 D/A转换器 158

2.13.1 功能介绍 159

2.13.2 寄存器描述 160

3.1.1 微处理器工作状态 164

3.1.2 处理器模式 164

3.1 ARM编程模型 164

第3章 ARM指令集和汇编程序设计 164

3.1.3 寄存器组织 165

3.1.4 异常 170

3.2 ARM的寻址方式 176

3.2.1 寄存器寻址 176

3.2.2 立即寻址 176

3.2.3 寄存器偏移寻址 176

3.2.6 相对寻址 177

3.2.5 基址寻址 177

3.2.4 寄存器间接寻址 177

3.2.7 多寄存器寻址 178

3.2.8 堆栈寻址 178

3.2.9 块拷贝寻址 178

3.3 ARM指令集 180

3.3.1 ARM指令的分类与格式 180

3.3.2 条件执行 181

3.3.3 指令分类说明 182

3.4.1 Thumb指令集与ARM指令集的区别 198

3.4.2 指令分类说明 198

3.4 Thumb指令集 198

3.5 ARM汇编程序设计 209

3.5.1 ARM汇编程序规范 209

3.5.2 ARM分支程序设计 211

3.5.3 ARM循环程序设计 214

3.5.4 ARM模块化程序设计 215

3.5.5 伪指令 216

第4章 ARM C/C++的编译和调试 232

4.1 ARM C/C++编译器 232

4.2 ARM C/C++语言扩展 247

4.3 ARM中的C/C++库 252

4.3.1 ARM中C/C++运行时库的类型 252

4.3.2 ARM中C/C++库的目录结构 253

4.3.3 ARM C/C++库的可重入性和静态数据 253

4.3.4 建立一个使用C/C++库的应用程序 254

4.3.5 建立一个不使用C/C++库的应用程序 256

4.3.6 裁剪C/C++运行时库 258

第5章 AT91应用程序设计实例 260

5.1 用汇编语言编写AT91的启动程序 260

5.2 AT91中断的自动定向和优先级管理 269

5.2.1 中断的自动定向 269

5.2.2 中断的优先级管理 270

5.2.3 AT91中断管理的软件实现 270

5.3 AT91中DMA的软件实现 271

5.3.1 快速DMA的编程实现 272

5.3.2 DMA通道的编程实现 273

5.4 用AT91定时器/计数器产生脉宽调制信号 276

5.5 AT91X408xx与I2S接口音频数/模转换器的连接 279

5.5.1 I2S总线简介 279

5.5.2 AT91X408xx与DAC3550连接电路 279

5.5.3 接口转换电路的CPLD实现 280

5.5.4 软件接口 285

5.6 AT91RM9200与硬盘的连接 285

6.2 OS_CPU.H文件 296

6.2.1 数据类型 296

第6章 μC/OS-Ⅱ在AT91上的移植 296

6.1 目录和文件 296

6.2.2 代码临界区 297

6.2.3 堆栈增长方向 297

6.2.4 任务级切换 298

6.2.5 中断级切换标志 298

6.2.6 函数原型 298

6.3 OS_CPU_C.C文件 298

6.3.3 OSTaskCreateHook() 299

6.3.1 OSInitHookBegin() 299

6.3.2 OSInitHookEnd() 299

6.3.4 OSTaskDelHook() 300

6.3.5 OSTaskIdleHook() 300

6.3.6 OSTaskStatHook() 300

6.3.7 OSTaskStkInit() 301

6.3.8 OSTaskSwHook() 302

6.4.1 OSStartHighRdy() 303

6.4 OS_CPU_A.S文件 303

6.3.10 OSTimeTickHook() 303

6.3.9 OSTCBInitHook() 303

6.4.2 OSCtxSw() 304

6.4.3 OS_CPU_SR_Save() 305

6.4.4 OS_CPU_SR_Restore() 306

6.4.5 OS_IntCtxSw() 306

6.5 INCLUDES.H文件 307

第7章 基于AT91M40800的WEB服务器的设计 308

7.1 基于AT91M40800的WEB服务器系统的组成 308

7.1.1 WEB服务器存储器部分的设计 309

7.1.2 WEB服务器以太网部分的设计 311

7.1.3 WEB服务器LCD显示部分的设计 316

7.1.4 WEB服务器键盘接口的设计 321

7.2 WEB服务器中TCP/IP协议栈的实现 325

7.2.1 ARP协议的实现 326

7.2.2 IP协议的实现 331

7.2.3 ICMP协议的实现 334

7.2.4 UDP协议的实现 335

7.2.5 TCP协议的实现 337

7.2.6 HTTP协议的实现 352