ARM原理与嵌入式应用
2008-7
电子工业
桂电-丰宝联合实验室
《电子信息与电气学科规划教材•ARM原理与嵌入式应用:基于LPC2400系列处理器和IAR》以NXP公司最新推出的LPC2478芯片为例,系统详细地介绍了ARM嵌入式系统的原理与应用。全书分为四大部分:(1)嵌入式系统的基本概念、ARM7TDMI-S内核的体系结构、ARM指令系统和汇编语言编程等;(2)LPC2400系列处理器的核心结构,包括引脚配置、时钟控制、存储器管理、中断机制等方面的硬件结构和软件编程方法,以及外部设备与接口技术;(3)IAR公司的EWARM集成开发环境下针对嵌入式系统开发的方法和技术;(4)实际应用实例,包括嵌入式操作系统的定制和移植、实际产品的设计方案等。《电子信息与电气学科规划教材•ARM原理与嵌入式应用:基于LPC2400系列处理器和IAR》由“桂电-丰宝联合实验室”开发了配套的实验板和实验指导书,并免费提供电子课件、程序源代码等电子资源。
第1章 嵌入式系统概论 1.1 嵌入式系统 1.1.1 嵌入式系统的定义 1.1.2 嵌入式系统的组成 1.1.3 嵌入式系统的特点 1.2 嵌入式处理器 1.2.1 嵌入式处理器的分类 1.2.2 ARM微处理器 1.3 嵌入式操作系统 1.3.1 操作系统的概念 1.3.2 嵌入式Linux 1.3.3 μC/OS-Ⅱ 1.3.4 Windows CE 1.3.5 VxWorks 1.3.6 IAR PowerPac 习题第2章 ARM体系结构 2.1 ARM7DMI程序员模型 2.1.1 ARM处理器的体系结构 2.1.2 ARM处理器核 2.1.3 ARM7TDMI内核 2.2 ARM处理器的工作状态和工作模式 2.2.1 ARM处理器的工作状态 2.2.2 ARM处理器的工作模式 2.3 ARM处理器的寄存器组织 2.3.1 ARM状态下的寄存器组织 2.3.2 Thumb状态下的寄存器组织 2.3.3 程序状态寄存器 2.4 Amd处理器的存储器组织 2.5 异常 2.5.1 ARM体系结构所支持的异常类型 2.5.2 异常向量 2.5.3 异常优先级 2.5.4 对异常的响应 2.5.5 从异常返回 2.5.6 应用程序中的异常处理 习题第3章 ARM指令系统 3.1 ARM处理器的指令格式 3.1.1 ARM指令集的特点 3.1.2 ARM指令的格式 3.2 ARM指令的寻址方式 3.2.1 立即寻址 3.2.2 寄存器寻址 3.2.3 寄存器间接寻址 3.2.4 基址变址寻址 3.2.5 多寄存器寻址 3.2.6 寄存器移位寻址 3.2.7 相对寻址 3.2.8 堆栈寻址 3.3 ARM指令集 3.3.1 加载/存储指令 3.3.2 数据处理指令 3.3.3 乘法指令与乘加指令 3.3.4 跳转指令 3.3.5 程序状态寄存器访问指令 3.3.6 协处理器指令 3.3.7 异常中断指令 3.4 Thumb指令集 3.5 伪指令 3.5.1 ARM伪指令 3.5.2 数据定义伪指令 3.5.3 符号定义伪指令 3.5.4 段定义伪指令 3.5.5 模块控制伪指令 3.5.6 汇编控制伪指令 3.5.7 宏处理伪指令 3.6 ARM汇编语言的规范 3.6.1 语句的格式 3.6.2 符号 3.6.3 常量和变量 3.7 ARM汇编语言的程序结构 3.7.1 汇编语言的程序结构 3.7.2 一个简单的ARM汇编语言程序 3.8 ARM程序设计举例 3.8.1 分支程序 3.8.2 循环程序 3.8.3 子程序调用 3.8.4 查表法 3.8.5 汇编语言与C/C++的混合编程 3.9 用ARM汇编语言编写系统启动程序 3.9.1 编写启动程序的一般规则 3.9.2 IAR EWARM软件包给出的一般启动程序 习题第4章 LPC2400系列处理器原理 4.1 LPC2400系列处理器简介 4.1.1 LPC2400系列处理器特性 4.1.2 LPC2400系列处理器结构 4.2 处理器引脚配置 4.2.1 引脚配置 4.2.2 引脚连接模块 4.2.3 引脚连接模块的使用举例 4.3 存储器管理 4.3.1 存储器映射 4.3.2 存储器加速模块 4.3.3 外部存储器控制器 4.4 系统控制模块 4.4.1 系统控制和状态寄存器 4.4.2 外部中断 4.5 时钟和功率控制 4.5.1 晶体振荡器 4.5.2 锁相环(PLL) 4.5.3 时钟分频 4.5.4 功率控制 4.5.5 时钟和功率控制举例 4.6 向量中断控制器 4.6.1 LPC2400中断特性 4.6.2 功能概述 4.6.3 中断控制器结构 4.6.4 寄存器描述 4.6.5 中断源 4.6.6 VIC使用注意事项 4.6.7 应用举例 4.7 LPC2400最小系统 习题第5章 LPC2400系列处理器接口技术 5.1 GPIO接口 5.1.1 特性 5.1.2 应用场合 5.1.3 寄存器描述 5.1.4 使用注意事项 5.1.5 应用举例 5.2 定时器 5.2.1 特性 5.2.2 应用场合 5.2.3 定时器结构 5.2.4 引脚功能描述 5.2.5 寄存器功能描述 5.2.6 应用举例 5.3 看门狗 5.3.1 功能描述 5.3.2 看门狗的结构 5.3.3 寄存器功能描述 5.3.4 应用举例 5.4 实时时钟 5.4.1 功能描述 5.4.2 实时时钟的结构 5.4.3 寄存器功能描述 5.4.4 预分频器 5.4.5 电池存储器 5.4.6 使用注意事项 5.4.7 应用举例 5.5 UART串口通信 5.5.1 概述 5.5.2 UART的结构 5.5.3 寄存器功能描述 5.5.4 基本操作 5.5.5 应用举例 5.6 数模转换器和模数转换器 5.6.1 DAC的特性 5.6.2 DAC引脚和寄存器描述 5.6.3 DAC基本操作 5.6.4 ADC的特性 5.6.5 ADC引脚描述 5.6.6 ADC寄存器描述 5.6.7 ADC基本操作 5.6.8 应用举例 5.7 I2C接口 5.7.1 I2C总线基本原理 5.7.2 I2C接口概述 5.7.3 I2C操作模式 5.7.4 I2C接口寄存器描述 5.7.5 应用举例 5.8 以太网接口 5.8.1 概述 5.8.2 结构和引脚描述 5.8.3 寄存器描述 5.8.4 应用举例 5.9 其他外设接口 5.9.1 GPDMA控制器 5.9.2 SPI接口 5.9.3 CAN控制器 5.9.4 PWM接口 5.9.5 I2S接口 5.9.6 USB接口 5.9.7 SD/MMC卡接口 5.9.8 LCD控制器 习题第6章 IAR集成开发环境 6.1 IAR EWARM集成开发环境与配套仿真器 6.1.1 IAR EWARM软件的特点 6.1.2 IAR J-Link仿真器简介 6.2 工程的创建、编译和连接 6.2.1 在IAR EWARM中生成新项目 6.2.2 在IAR EWARM中编译项目 6.2.3 在IAR EWARM中连接项目 6.3 C-SPY调试器 习题第7章 嵌入式应用开发实例 7.1 基于LPC2400的uCLinux开发平台配置 7.1.1 uCLinux操作系统概述 7.1.2 建立uCLinux开发环境 7.1.3 编译uCLinux内核 7.1.4 内核的加载运行 7.2 在uCLinux下开发应用程序 7.2.1 串行通信 7.2.2 socket编程 7.2.3 添加用户应用程序到uCLinux 7.3 嵌入式产品开发实例:条码称 7.3.1 嵌入式系统设计简介 7.3.2 应用背景 7.3.3 系统简介 7.3.4 芯片选型 7.3.5 硬件原理设计 7.3.6 终端软件设计 7.4 嵌入式产品开发实例:野外数据采集器 7.4.1 应用背景 7.4.2 系统简介 7.4.3 芯片选型 7.4.4 硬件原理设计参考文献