### 深入浅出ARM7(上) #### 第1章 EasyARM2131开发板硬件结构 **1.1 功能特点** 本章节详细介绍了EasyARM2131开发板的功能特点,该开发板由广州周立功单片机发展有限公司生产,主要面向学习与开发基于ARM7架构的嵌入式系统的初学者与工程师。 **1.2 硬件原理** 1. **1.2.1 电路原理图** - 易于理解的电路原理图展示,帮助读者快速了解开发板内部电路设计。 - 图中清晰标识了主要组件的位置与连接方式,如处理器、内存、外设等。 - 原理图还展示了如何将不同模块相互连接起来,以及如何实现与外部设备的通信。 2. **1.2.2 原理说明** - 对开发板的关键硬件组件进行详细介绍,包括但不限于处理器、RAM、ROM、I/O端口等。 - 解释了每个组件的作用及其在系统中的位置,有助于理解整个硬件系统的工作原理。 **1.3 硬件结构** 1. **1.3.1 元件布局图** - 提供了一个全面的元件布局图,展示所有组件在开发板上的物理位置。 - 这对于理解各个部件之间的物理关系非常有帮助,特别是对于那些想要进一步扩展或修改开发板的用户来说。 2. **1.3.2 跳线器说明** - 跳线器是一种用于在电路板上切换信号路径的小型装置。 - 本节详细介绍了开发板上可用的不同类型的跳线器,包括它们的位置、功能以及如何使用它们来改变系统的行为。 - 还提到了如何根据项目需求正确地设置这些跳线器,以实现不同的功能。 3. **1.3.3 连接器说明** - 对开发板上的各种连接器进行了详细介绍,包括USB、串行、GPIO等。 - 说明了每个连接器的功能及其在实际应用中的用途。 - 这对于连接其他设备(如传感器、显示器等)到开发板非常重要。 **1.4 硬件使用的资源** - 列出了开发板上可用的所有硬件资源,包括处理器、内存大小、外设等。 - 这些信息对于合理分配资源、优化程序性能至关重要。 **1.5 其它** 1. **1.5.1 EasyARM2131开发板电源** - 讲解了开发板的供电方式,包括电源输入电压范围、电流消耗等。 - 本节还介绍了如何正确地为开发板供电,以确保其稳定工作。 2. **1.5.2 跳线器** - 再次强调了跳线器的重要性,并提供了更多关于如何使用跳线器的信息。 #### 第2章 ADS集成开发环境及EasyJTAG仿真器使用 **2.1 ADS1.2集成开发环境的组成** 1. **2.1.1 CodeWarrior IDE简介** - CodeWarrior IDE是一款强大的集成开发环境,专为ARM处理器设计。 - 介绍其界面布局、常用功能以及如何通过它编写和编译代码。 2. **2.1.2 AXD调试器简介** - AXD是CodeWarrior IDE中的调试器,可以实时监控和调试正在运行的程序。 - 本节解释了AXD的主要功能和使用方法。 **2.2 工程的编辑** 1. **2.2.1 建立工程** - 步骤指导如何创建一个新的工程项目。 - 包括如何选择目标平台、配置编译选项等。 2. **2.2.2 建立文件** - 解释如何在现有工程中添加新的源文件。 - 包括如何编写代码、管理文件等内容。 3. **2.2.3 添加文件到工程** - 指导如何将现有的源代码文件添加到工程中。 - 这对于整合现有代码片段非常有用。 4. **2.2.4 编译连接工程** - 介绍了如何使用CodeWarrior IDE编译和链接工程。 - 包括如何处理编译错误、警告等。 5. **2.2.5 打开旧工程** - 说明如何打开之前保存的工程文件继续开发。 **2.3 工程的调试** 1. **2.3.1 选择调试目标** - 解释如何在CodeWarrior IDE中设置调试目标。 - 包括如何选择正确的调试器类型、配置调试参数等。 2. **2.3.2 调试工具条** - 介绍了AXD调试器中的常用工具条按钮及其功能。 - 包括断点设置、单步执行、变量监视等功能。 **2.4 LPC2131微控制器工程模板** 1. **2.4.1 为ADS1.2增加LPC2131专用工程模板** - 解释如何为CodeWarrior IDE添加LPC2131微控制器的专用工程模板。 - 这些模板包含了针对特定微控制器的默认设置,可以加快开发过程。 2. **2.4.2 使用LPC2131专用工程模板建立工程** - 指导如何利用上述模板快速创建一个新工程。 - 包括如何设置项目属性、编译选项等。 3. **2.4.3 从LPC2100工程模板到LPC2131工程模板** - 如果已经有一个LPC2100的工程,如何将其转换为适用于LPC2131的新工程。 **2.5 EasyJTAG仿真器的安装与使用** 1. **2.5.1 安装EasyJTAG仿真器** - 提供了安装EasyJTAG仿真器的步骤。 - 包括如何连接硬件、配置驱动等。 2. **2.5.2 使用EasyJTAG仿真器** - 详细介绍了如何使用EasyJTAG仿真器进行调试。 - 包括如何设置调试环境、加载程序等。 **2.6 固化程序** - 解释了如何将程序固化到开发板的闪存中,以便脱离仿真器独立运行。 **2.7 使用JTAG接口下载** - 介绍了如何使用JTAG接口将程序下载到开发板。 **2.8 使用ISP下载** 1. **2.8.1 生成Hex文件** - 解释了如何使用CodeWarrior IDE生成可用于ISP下载的Hex文件。 - 这种文件格式可以直接被编程器识别并写入到芯片中。 2. **2.8.2 用ISP软件下载** - 介绍了如何使用ISP软件将程序下载到开发板。 **2.9 在开发板上运行第一个程序** 1. **2.9.1 建立工程** - 从头开始指导如何建立一个新的工程,以运行一个简单的程序。 2. **2.9.2 添加代码** - 展示如何编写简单的代码,并将其添加到工程中。 3. **2.9.3 编译连接工程** - 解释如何编译代码,并确保没有错误。 4. **2.9.4 进入AXD调试** - 介绍如何使用AXD调试器对程序进行调试。 5. **2.9.5 在FLASH中调试** - 指导如何将程序烧录到FLASH,并进行调试。 6. **2.9.6 脱机运行** - 说明如何让程序脱离仿真器独立运行。 #### 第3章 LPC2131使用指南 **3.1 简介** 1. **3.1.1 概述** - 对LPC2131微控制器进行了简要介绍。 - 解释了该控制器的主要特性和应用场景。 2. **3.1.2 LPC2131/2132/2134/2136/2138特性** - 详细列出了LPC2131系列微控制器的特点。 - 这些特性包括但不限于处理器类型、内存容量、外设支持等。 3. **3.1.3 器件信息** - 提供了关于LPC2131的详细技术规格。 - 包括处理器速度、内部和外部内存容量、功耗等。 **3.2 管脚信息** 1. **3.2.1 LPC2131的管脚分布** - 展示了LPC2131的管脚分布图。 - 有助于理解各个引脚的功能和位置。 2. **3.2.2 LPC2131的管脚描述** - 详细介绍了LPC2131的每个引脚及其功能。 - 这对于连接外部设备到微控制器至关重要。 **3.3 结构概述** - 描述了LPC2131的总体结构。 - 包括处理器核心、存储器、外设等主要组件的位置及其相互之间的连接方式。 **3.4 存储器寻址** 1. **3.4.1 存储器映射** - 介绍了LPC2131的存储器映射。 - 包括各种类型内存(如ROM、RAM)的地址空间划分。 2. **3.4.2 LPC2131存储器重新映射和BOOTBLOCK** - 解释了如何重新映射LPC2131的存储器,以及BOOTBLOCK的使用方法。 3. **3.4.3 存储器的重新映射** - 继续探讨如何根据需要重新映射内存区域。 4. **3.4.4 预取指中止和数据中止异常** - 解释了预取指中止和数据中止异常的概念。 - 包括如何处理这类异常情况。 5. **3.4.5 启动代码相关部分** - 讨论了与启动代码相关的存储器管理和初始化问题。 **3.5 系统控制模块** 1. **3.5.1 概述** - 对系统控制模块进行了概览性介绍。 2. **3.5.2 管脚描述** - 列出了系统控制模块中涉及的管脚及其功能。 3. **3.5.3 寄存器汇总** - 提供了系统控制模块中所有关键寄存器的列表。 - 包括每个寄存器的地址、功能等信息。 4. **3.5.4 晶体振荡器** - 解释了晶体振荡器的工作原理及其在系统中的作用。 - 还介绍了如何配置和使用晶体振荡器。 5. **3.5.5 外部中断输入** - 介绍了如何配置外部中断输入,以及如何处理中断事件。 6. **3.5.6 存储器映射控制REMAP** - 讲解了如何使用REMAP寄存器来控制存储器的映射。 7. **3.5.7 锁相环PLL** - 详细讨论了锁相环PLL的工作原理及其配置方法。 - 包括如何调整PLL以获得所需的时钟频率。 8. **3.5.8 功率控制** - 介绍了LPC2131中的功率管理模式。 - 包括如何通过控制不同的电源域来节省功耗。 9. **3.5.9 复位** - 解释了复位机制,包括如何触发复位、复位后的状态等。 10. **3.5.10 VPB分频器** - 讨论了VPB分频器的功能及其配置方法。 - 用于调整外围总线的速度。 11. **3.5.11 唤醒定时器** - 介绍了唤醒定时器的作用,以及如何使用它从低功耗模式中唤醒设备。 12. **3.5.12 掉电检测** - 解释了掉电检测机制及其配置方法。 - 用于在电源电压下降到阈值以下时触发复位。 13. **3.5.13 代码安全和调试** - 讨论了如何保护代码免受未经授权的访问,并介绍了调试选项。 14. **3.5.14 启动代码相关部分** - 介绍了启动代码中涉及的系统控制模块的初始化过程。 **3.6 存储器加速模块(MAM)** 1. **3.6.1 描述** - 对存储器加速模块进行了概述。 - MAM旨在提高内存访问速度。 2. **3.6.2 操作** - 解释了MAM的工作原理及其如何提高性能。 3. **3.6.3 MAM结构** - 描述了MAM的内部结构。 - 包括各个组件的位置及其相互之间的连接方式。 4. **3.6.4 Flash存储器组** - 介绍了如何组织和访问Flash存储器。 - 包括如何配置MAM以优化Flash访问速度。 5. **3.6.5 指令锁存和数据锁存** - 解释了指令锁存和数据锁存的概念。 - 包括如何使用这些机制来减少等待周期。 6. **3.6.6 MAM的操作模式** - 列出了MAM的几种操作模式。 - 包括如何根据应用程序的需求选择合适的模式。 7. **3.6.7 MAM配置** - 介绍了如何配置MAM寄存器以启用或禁用特定功能。 8. **3.6.8 寄存器描述** - 提供了MAM寄存器的完整列表。 - 包括每个寄存器的地址、功能等信息。 9. **3.6.9 MAM使用注意事项** - 提供了一些使用MAM时需要注意的重要事项。 - 例如,避免在不适当的情况下启用MAM可能导致系统不稳定等问题。 10. **3.6.10 启动代码相关部分** - 讨论了启动代码中涉及的MAM初始化过程。 **3.7 向量中断控制器(VIC)** 1. **3.7.1 概述** - 对向量中断控制器进行了概述。 - VIC负责管理所有的中断请求。 2. **3.7.2 特性** - 列出了VIC的主要特点。 - 包括可编程优先级、多级中断处理等。 3. **3.7.3 结构** - 描述了VIC的内部结构。 - 包括各个组件的位置及其相互之间的连接方式。 4. **3.7.4 寄存器描述** - 提供了VIC寄存器的完整列表。 - 包括每个寄存器的地址、功能等信息。 5. **3.7.5 中断源** - 列出了所有可能的中断源及其对应的中断号。 - 有助于理解哪些事件可以触发中断。 6. **3.7.6 VIC操作方法** - 介绍了如何配置VIC寄存器以启用或禁用特定中断。 - 包括如何设置优先级、使能中断等。 7. **3.7.7 伪中断** - 解释了伪中断的概念。 - 包括如何使用伪中断来模拟中断事件。 8. **3.7.8 VIC使用注意事项** - 提供了一些使用VIC时需要注意的重要事项。 - 例如,确保中断处理程序的正确性,以防止出现死锁等问题。 9. **3.7.9 VIC使用举例** - 通过具体例子演示如何使用VIC来处理中断。 10. **3.7.10 启动代码相关部分** - 讨论了启动代码中涉及的VIC初始化过程。 **3.8 管脚连接模块** 1. **3.8.1 概述** - 对管脚连接模块进行了概述。 - 该模块负责管理LPC2131微控制器的所有外部引脚。 2. **3.8.2 寄存器描述** - 提供了管脚连接模块中所有关键寄存器的列表。 - 包括每个寄存器的地址、功能等信息。 3. **3.8.3 管脚功能选择使用示例** - 通过具体例子演示如何使用管脚连接模块来配置引脚功能。 **3.9 启动代码综述** 1. **3.9.1 文档综述** - 提供了启动代码的整体综述。 - 包括启动过程的概述、初始化过程等。 - 有助于理解整个系统是如何启动和初始化的。
- 粉丝: 13
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助