《ARM嵌入式系统基础与应用:基于Proteus和IAR EWARM》以NXP公司的LPC2100系列ARM处理器为原型、IAR EWARM为软件平台,阐述了基于Proteus虚拟仿真技术的ARM嵌入式应用开发技术。分析了与ARM处理器架构相关的技术要点,详细介绍了LPC2138 ARM处理器片内功能资源和外部扩展应用技术,给出了大量Proteus虚拟仿真实例,并配有包含Proteus DEMO版软件包和书中全部实例的光盘。
《ARM嵌入式系统基础与应用:基于Proteus和IAR EWARM》适合于从事ARM嵌入式系统开发设计的工程技术人员阅读,也可作为大专院校相关专业嵌入式系统课程的教学用书。
前言
第1章 ARM体系结构基础
1.1 ARM的数据类型和存储器格式
1.2 ARM处理器的工作状态和运行模式
1.3 寄存器组织
1.3.1 寄存器分类
1.3.2 通用寄存器
1.3.3 程序状态寄存器
1.4 异常
1.4.1 ARM体系结构所支持的异常类型
1.4.2 各类异常的具体描述
1.4.3 对异常的响应和返回
1.5 ARM指令集
1.5.1 ARM指令的功能与格式
1.5.2 指令的条件码
1.6 ARM指令的寻址方式
1.6.1 寄存器寻址
1.6.2 立即寻址
1.6.3 寄存器移位寻址
1.6.4 寄存器间接寻址
1.6.5 基址寻址
1.6.6 相对寻址
1.6.7 多寄存器寻址
1.6.8 堆栈寻址
1.6.9 块拷贝寻址
1.6.10 ARM伪指令
1.7 Thumb指令集
1.8 ARM汇编语言编程
1.8.1 ARM汇编语言规范
1.8.2 汇编伪指令
1.8.3 程序设计举例
1.8.4 汇编语言与C/C++混合编程
1.9 启动代码
1.9.1 Startup.s文件
1.9.2 Target.c文件
1.9.3 Target.h文件
1.9.4 Config.h文件
复习思考题
第2章 Proteus for ARM7虚拟仿真
2.1 Proteus for ARM简介
2.1.1 Proteus支持的ARM模型
2.1.2 Proteus ELF/SWARF装载器
2.1.3 Proteus LPC2000的调试窗口
2.2 集成环境ISIS
2.3 原理图绘制与源代码仿真调试
2.4 用IAR EWARM生成源代码仿真调试程序
2.4.1 创建项目
2.4.2 项目选项配置与编译链接
复习思考题
第3章 LPC213x ARM处理器
3.1 LPC213x处理器特性与存储器结构
3.1.1 主要特性
3.1.2 存储器结构
3.1.3 存储器重新映射和Boot Block
3.1.4 存储器加速模块
3.2 系统控制模块
3.2.1 时钟频率控制
3.2.2 VPB分频器
3.2.3 功率控制
3.2.4 复位
3.2.5 唤醒定时器
3.3 外部中断输入
3.4 向量中断控制器VIC
3.4.1 VIC寄存器
3.4.2 中断源
3.4.3 VIC使用注意事项
3.5 引脚功能配置
3.5.1 引脚选择寄存器
3.5.2 引脚配置示例
3.6 系统控制应用举例
3.6.1 存储器映射
3.6.2 锁相环
3.6.3 存储器加速模块
3.7 VIC中断应用举例
3.7.1 外部中断
3.7.2 向量中断
3.7.3 嵌套中断
3.7.4 快速中断
3.7.5 软件中断
复习思考题
第4章 LPC2138片内集成功能应用技术
4.1 通用输入输出端口GPIO
4.1.1 主要特性
4.1.2 寄存器描述
4.1.3 应用举例
4.2 通用异步接收发送器UART
4.2.1 主要特性
4.2.2 寄存器描述
4.2.3 应用举例
4.3 I2C接口
4.3.1 主要特性
4.3.2 寄存器描述
4.3.3 应用举例
4.4 SPI接口
4.4.1 主要特性
4.4.2 SPI数据传输
4.4.3 寄存器描述
4.4.4 应用举例
4.5 SSP接口
4.5.1 主要特性
4.5.2 寄存器描述
4.5.3 应用举例
4.6 定时器/计数器
4.6.1 主要特性
4.6.2 寄存器描述
4.6.3 应用举例
4.7 脉宽调制器PWM
4.7.1 主要特性
4.7.2 寄存器描述
4.7.3 应用举例
4.8 A-D转换器
4.8.1 主要特性
4.8.2 寄存器描述
4.8.3 应用举例
4.9 D-A转换器
4.9.1 主要特性
4.9.2 寄存器描述
4.9.3 应用举例
4.10 实时时钟
4.10.1 主要特性
4.10.2 寄存器描述
4.10.3 应用举例
4.11 看门狗定时器
4.11.1 主要特性
4.11.2 寄存器描述
4.11.3 应用举例
复习思考题
第5章 LPC2138片外扩展功能应用技术
5.1 液晶显示器LCD接口技术
5.1.1 点阵字符型液晶显示模块接口技术
5.1.2 12864点阵图型液晶显示模块接口技术
5.1.3 T6963C点阵图型液晶显示模块接口技术
5.2 用DS18B20与LPC2138实现的数字温度计
5.3 用DS1302与LPC2138实现的万年历
5.4 SD卡与LPC2138的接口及应用
5.4.1 SD卡简介
5.4.2 FAT16文件系统
5.4.3 SD卡接口应用举例
5.5 网络芯片ENC28J60与LPC2138的接口及应用
5.5.1 ENC28J60的功能模块与引脚分布
5.5.2 ENC28J60主要特性
5.5.3 ENC28J60应用举例
复习思考题
第6章 mC/OS-II在LPC2138上的移植与应用
6.1 mC/OS-II简介
6.2 mC/OS-II在LPC2138上的移植
6.2.1 编写OS_CPU.H文件
6.2.2 编写OS_cpu_c.c文件
6.2.3 编写Os_cpu_asm文件
6.3 编写mC/OS-II应用程序
6.3.1 任务管理
6.3.2 任务管理应用编程举例
6.4 任务的同步与通信
6.4.1 信号量
6.4.2 信号量应用编程举例
6.4.3 消息邮箱
6.4.4 消息邮箱应用编程举例
复习思考题
附录
附录A ARM硬件开发平台
A.1 电源电路
A.2 复位电路
A.3 时钟电路
A.4 RS232串口和MODEM电路
A.5 键盘电路
A.6 LED显示电路
A.7 LCD显示电路
A.8 I2C接口电路
A.9 音频接口电路
A.10 电动机驱动电路
A.11 ADC采样电路
A.12 网络接口电路
A.13 SD卡接口电路
A.14 USB接口电路
A.15 总线接口电路
A.16 PS/2接口电路
A.17 扩展模块接口电路
A.18 JTAG接口电路
附录B Proteus中的常用元器件
参考文献