您现在的位置:首页 / 周立功单片机公司策划系列丛书 ARM微控制器基础与实战
周立功单片机公司策划系列丛书 ARM微控制器基础与实战

周立功单片机公司策划系列丛书 ARM微控制器基础与实战

资料大小: 34.74 MB
文档格式: PDF文档
资料语言: 简体中文
资料类别: 电子信息
下载说明:
推荐信息: 实战   基础   控制器   ARM

本地下载(30点)  备用下载(30点)

内容简介
ARM微控制器基础与实战
出版时间:2003
丛编项: 周立功单片机公司策划系列丛书
内容简介
  以ARM控制器LPC2104及基于LPC2104的开发学习板EasyARM2104人手,逐步引导读者掌握使用开发ARM的基本知识。本书分3个部分:第1部分为基础篇,包括第1章和第2章,主要从ARM芯片开发者的角度介绍ARM7TDMI的体系结构和指令系统。第2部分为实验篇,包括第3章、第4章和第5章,详细介绍ARM控制器LPC2104的内部结构和开发学习板EasyARM2104的硬件结构等知识,给出LPC2104的各个功能部件的编程方法,包括汇编代码和C语言代码。第3部分为提高篇,包括第6章~第13章,介绍如何把嵌入式实时操作系统µC/OS-IILPC2104,在不同情况下如何编译这些代码。然后介绍LPC2104的几个重要功能部件在µC/OS-I动程序(中间件),以及其它功能部件在µC/OS-II法。本书可作为高等院校嵌入式系统课程的参考用书,以及ARM应用技术开发人员的参考手册。
目录
第1章 从程序员角度看ARM7TDMI —S
1. 1 简 介
1. 1. 1 ARM
1. 1. 2 ARM的体系结构
1. 1. 3 ARM7TDMI —S
1. 2 ARM7TDMI —S 的模块和内核框图
1. 3 体系结构直接支持的数据类型
1. 4 处理器状态
1. 5 处理器模式
1. 6 内部寄存器
1. 6. 1 简 介
1. 6. 2 ARM状态寄存器集
1. 6. 3 Thumb状态寄存器集
1. 7 程序状态寄存器
1. 7. 1 简 介
1. 7. 2 条件代码标志
1. 7. 3 控制位
1. 7. 4 保留位
1. 8 异 常
1. 8. 1 简 介
1. 8. 2 异常人口/出口汇总
1. 8. 3 进入异常
1. 8. 4 退出异常
1. 8. 5 快速中断请求
1. 8. 6 中断请求
1. 8. 7 中 止
1. 8. 8 软件中断指令
1. 8. 9 未定义的指令
1. 8. 10 异常向量
1. 8. 11 异常优先级
1. 9 中断延迟
1. 9. 1 最大中断延迟
1. 9. 2 最小中断延迟
1. 10 复 位
1. 11 存储器及存储器映射I/O
1. 11. 1 简 介
1. 11. 2 地址空间
1. 11. 3 存储器格式
1. 11. 4 未对齐的存储器访问
1. 11. 5 指令的预取和自修改代码
1. 11. 6 存储器映射的I/O
1. 12 寻址方式简介
1. 13 ARM7TDMI —S 指令集简介
1. 13. 1 简 介
1. 13. 2 ARM指令集
1. 13. 3 Thumb指令集
1. 14 协处理器接口简介
1. 14. 1 简 介
1. 14. 2 可用的协处理器
1. 15 调试接口简介
第2章 ARM7TDMI -S 指令集及汇编
2. 1 ARM处理器寻址方式
2. 2 指令集介绍
2. 2. 1 ARM指令集
2. 2. 2 Thumb指令集
2. 3 伪指令
2. 3. 1 符号定义伪指令
2. 3. 2 数据定义伪指令
2. 3. 3 报告伪指令
2. 3. 4 汇编控制伪指令
2. 3. 5 杂项伪指令
2. 3. 6 ARM伪指令
2. 3. 7 Thumb伪指令
2. 4 ARM汇编程序设计
2. 5 C与汇编混合编程
2. 5. 1 内嵌汇编
2. 5. 2 访问全局变量
2. 5. 3 C与汇编相互调用
第3章 LPC2106/2105/2104硬件结构与功能
3. 1 简 介
3. 1. 1 特 性
3. 1. 2 引脚信息
3. 2 LPC2106/2105/2104存储器寻址
3. 2. 1 片内存储器
3. 2. 2 存储器映射
3. 2. 3 LPC2106/2105/2104存储器重新映射和BootBlock
3. 2. 4 预取指中止和数据中止异常
3. 3 系统控制模块
3. 3. 1 系统控制模块功能汇总
3. 3. 2 引脚描述
3. 3. 3 品体振荡器
3. 3. 4 寄存器描述
3. 3. 5 外部中断输入
3. 3. 6 存储器映射控制
3. 3. 7 PLL 锁相环
3. 3. 8 功率控制
3. 3. 9 复 位
3. 3. 10 VPB分频器
3. 3. 11 唤醒定时器
3. 4 存储器加速模块
3. 4. 1 介 绍
3. 4. 2 存储器加速器模块的操作模式
3. 4. 3 MAM配置
3. 4. 4 寄存器描述
3. 5 向量中断控制器
3. 5. 1 特 性
3. 5. 2 描 述
3. 5. 3 寄存器描述
3. 5. 4 VIC寄存器
3. 5. 5 中断源
3. 5. 6 VIC使用事项
3. 6 GPIO
3. 6. 1 特 性
3. 6. 2 应 用
3. 6. 3 引脚描述
3. 6. 4 寄存器描述
3. 6. 5 GPIO使用注意事项
3. 7 引脚连接模块
3. 7. 1 介 绍
3. 7. 2 应 用
3. 7. 3 寄存器描述
3. 8 UART0
3. 8. 1 特 性
3. 8. 2 引脚描述
3. 8. 3 寄存器描述
3. 8. 4 结 构
3. 9 UART1
3. 9. 1 特 性
3. 9. 2 引脚描述
3. 9. 3 寄存器描述
3. 9. 4 结 构
3. 10 I2C接口
3. 10. 1 特 性
3. 10. 2 应 用
3. 10. 3 描 述
3. 10. 4 引脚描述
3. 10. 5 寄存器描述
3. 10. 6 结 构
3. 11 SPI接口
3. 11. 1 特 性
3. 11. 2 描 述
3. 11. 3 引脚描述
3. 11. 4 寄存器描述
3. 11. 5 结 构
3. 12 定时器0和定时器1
3. 12. 1 特 性
3. 12. 2 应 用
3. 12. 3 引脚描述
3. 12. 4 寄存器描述
3. 12. 5 定时器举例操作
3. 12. 6 结 构
3. 13 脉宽调制器 PWM
3. 13. 1 特 性
3. 13. 2 描 述
3. 13. 3 引脚描述
3. 13. 4 寄存器描述
3. 14 实时时钟
3. 14. 1 特 性
3. 14. 2 描 述
3. 14. 3 结 构
3. 14. 4 寄存器描述
3. 14. 5 RTC中断
3. 14. 6 混合寄存器组
3. 14. 7 完整时间寄存器
3. 14. 8 时间计数器组
3. 14. 9 报警寄存器组
3. 14. 10 基准时钟分频器 预分频器
3. 15 看门狗
3. 15. 1 特 性
3. 15. 2 应 用
3. 15. 3 描 述
3. 15. 4 寄存器描述
3. 15. 5 方框图
3. 16 Flash存储器系统和编程
3. 16. 1 Flash存储器系统
3. 16. 2 FlashBoot装载程序
3. 16. 3 特 性
3. 16. 4 应 用
3. 16. 5 描 述
3. 16. 6 Boot处理流程图
3. 16. 7 扇区数
3. 16. 8 JTAGFlash编程接口
第4章 EasyARM2104开发实验板
4. 1 功能特点
4. 2 硬件原理
4. 2. 1 原理图
4. 2. 2 原理说明
4. 3 硬件结构
4. 3. 1 布局图
4. 3. 2 跳线器及连接器说明
4. 4 实验板使用基础
4. 4. 1 调试框图
4. 4. 2 调试设置及操作
4. 4. 3 固化程序
4. 4. 4 其 它
第5章 LPC2106/2105/2104基础实验
5. 1 LPC2106/2105/2104系统基础
5. 1. 1 系统时钟介绍
5. 1. 2 REMAP操作及调试
5. 1. 3 启动代码说明
5. 2 LPC2106/2105/2104功能部件实战
5. 2. 1 GPIO
5. 2. 2 中 断
5. 2. 3 定时器
5. 2. 4 UART
5. 2. 5 12C接口
5. 2. 6 SPI接口
5. 2. 7 PWM
5. 2. 8 实时时钟
5. 2. 9 WDT
5. 2. 10 低功耗
5. 2. 11 1AP应用
5. 2. 12 除法运算
5. 3 PC机人机界面
5. 3. 1 EasyARM软件窗口介绍
5. 3. 2 EasyARM软件通信协议
5. 3. 3 EasyARM应用例程
第6章 移植uC/OS-Ⅱ
6. 1 uC/OS-II简介
6. 2 移植规划
6. 2. 1 编译器的选择
6. 2. 2 任务模式的取舍
6. 2. 3 支持的指令集
6. 2. 4 对RTOS系统内核与任务分别编译的支持
6. 3 编写LPC2106/2105/2104的启动代码
6. 3. 1 为何要编写启动代码
6. 3. 2 文件的划分
6. 3. 3 异常向量表
6. 3. 4 系统初始化代码
6. 3. 5 初始化CPU堆栈InitStack
6. 3. 6 异常处理代码与C语言接口的例子
6. 3. 7 系统基本初始化TargetResetlnit 的例子
6. 3. 8 初始化库函数的堆
6. 4 移植uC/OS-Ⅱ
6. 4. 1 关于头文件Includes. h和Config. h
6. 4. 2 不依赖于编译的数据类型
6. 4. 3 使用软中断SWI作底层接口
6. 4. 4 软中断的汇编接口
6. 4. 5 OLENTER_CRITICAL 和OS_EXIT_CRITICAL
6. 4. 6 OS_STK_GROWTH
6. 4. 7 OlTASK_SW
6. 4. 8 OSStartHighRdy
6. 4. 9 OSCtxSw 和OSIntCtxSw
6. 4. 10 中断程序及系统时钟节拍中断服务程序的编写
6. 4. 11 OSTaskStkInt
6. 4. 12 . . . Hook 函数
6. 4. 13 移植增加的特定函数
6. 5 移植uC/OS-II的例子
6. 5. 1 移植例子中的PC. C PC中的功能函数
6. 5. 2 范例1的移植
6. 5. 3 范例2的移植
6. 5. 4 范例3的移植
第7章 移植代码的使用
7. 1 高性能的应用
7. 1. 1 选择指令集
7. 1. 2 建立ADS的工程
7. 1. 3 调试参数的设置
7. 1. 4 编程注意事项
7. 2 高代码密度的应用
7. 2. 1 选择指令集
7. 2. 2 建立ADS的工程
7. 2. 3 调试参数的设置
7. 2. 4 编程注意事项
7. 3 性能与代码密度兼顾的应用
7. 3. 1 选择指令集
7. 3. 2 建立ADS的工程
7. 3. 3 调试参数的设置
7. 3. 4 编程注意事项
7. 4 uC/OS-Ⅱ与应用代码分别编译的应用
7. 4. 1 分别编译的必要性
7. 4. 2 分别编译的局限性
7. 4. 3 生成uC/OS-II的ROM映像代码 写入Flash中
7. 4. 4 生成应用程序代码
7. 4. 5 注意事项
第8章 移植代码新增的函数手册和配置手册
8. 1 新增的函数手册
8. 2 新增的配置手册
第9章 中间件之数据队列
9. 1 概 述
9. 2 使 用
9. 2. 1 配置选项
9. 2. 2 函数手册
9. 2. 3 使用范例
9. 3 原 理
9. 3. 1 数据结构
9. 3. 2 建立数据队列
9. 3. 3 FIFO方式发送数据
9. 3. 4 LIFO方式发送数据
9. 3. 5 取得数据
9. 3. 6 清空数据队列
9. 3. 7 取得数据队列状态
第10章 中间件之串口驱动
10. 1 概 述
10. 2 使 用
10. 2. 1 配置选项
10. 2. 2 函数手册
10. 2. 3 使用范例
10. 3 原 理
10. 3. 1 初始化UART0
10. 3. 2 UART0中断处理例程
10. 3. 3 发送一个字节
10. 3. 4 发送多个字节
10. 3. 5 接收一个字节
第11章 中间件之I2C总线驱动
11. 1 概 述
11. 2 使 用
11. 2. 1 函数手册
11. 2. 2 使用范例
11. 3 原 理
11. 3. 1 初始化I2C
11. 3. 2 写I2C从器件
11. 3. 3 从I2C从器件读数据
11. 3. 4 I2C中断服务程序
第12章 中间件之SPI总线驱动
12. 1 概 述
12. 2 使 用
12. 2. 1 配置选项
12. 2. 2 函数手册
12. 2. 3 使用范例
12. 3 原理
12. 3. 1 初始化SPl
12. 3. 2 获取SPI状态
12. 3. 3 开始访问SPI 获取SPI访问权
12. 3. 4 读写SPI
12. 3. 5 访问SPI结束 归还SPI访问权
12. 3. 6 SPI中断服务程序
第13章 在uC/OS-II中使用其它片内外设
13. 1 概 述
13. 2 通用I/O的使用
13. 3 定时器的使用
13. 4 PWM的使用
13. 5 实时时钟的使用
附录A 常见问题
A. 1 程序写入Flash后不能运行
A. 2 进人AXD后无法调试
A. 3 不能进入ISP
A. 4 从JTAG调试出错
A. 5 项目不能拷贝到其它目录
附录B JTAG接口设计指南
附录C ARM指令集相关列表汇总
C. 1 ARM指令列表
C. 2 Thumb指令列表
C. 3 汇编预定义变量及伪指令
C. 4 其 它
附录D PHLIPS LPC ARM微控制器系列产品列表
参考文献