精品课件-微机原理与嵌入式系统-第8章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 8 章 ARM 开发工具ADS
1) 指令集模拟器 ADS集成开发环境提供了指令集模拟器(ARMUL),可使用户在 PC机上完成基于处理器寄存器和存储器的程序调试工作。由于指 令集模拟器不能模拟外设的工作情况,与真实的硬件环境相差较 大,因此即使用户使用指令集模拟器调试通过的程序,也还要在 真实的硬件环境下再调试。指令集模拟器调试只能作为一种初步 调试,主要是用于用户程序的模拟运行,用来检查语法、程序的 结构和程序算法等错误。用户最终必须在真实的硬件环境中实际 运行调试,完成整个应用的开发。
AXD是基于Windows操作系统平台的ARM调试器,它提供了一 个功能完备的调试环境,可用于调试C、C++和汇编语言级编写的 用户代码。在AXD中打开ELF格式映像文件后,可以选择全速运行 代码、设置断点或单步运行代码,可以查看各个寄存器、存储器 单元及变量的值等。
第 8 章 ARM 开发工具ADS
第 8 章 ARM 开发工具ADS
PC机处理器是X86系列芯片,与ARM7 TDMI的指令集不相同。 因此,在ARM ADS集成开发环境上编写的源程序需要经过交叉编 译器,才能生成运行在目标板上的ARM7机器语言程序。ARM ADS 包含了C、C++和汇编语言等的交叉编译器,在PC平台上,能将C、 C++和汇编语言等语言源程序编译成ARM7指令集的机器语言目标 程序。所谓交叉编译,是指在某一机型上编译出另外一个机型的 目标代码。
第 8 章 ARM 开发工具ADS
第8章 ARM 开发工具 ADS
8.1 ADS简介 8.2 ADS中的工程管理工具CodeWarrior IDE 8.3 ADS中的调试工具AXD 8.4 ADS环境汇编程序设计实例 本章小结 习题
第 8 章 ARM 开发工具ADS
8.1 ADS简介 ARM ADS全称为ARM Developer Suite,是由ARM公司提供的 专门用于ARM处理器应用开发和调试的综合性工具软件。目前使 用的ADS 1.2版本是一款功能强大的开发工具和易于使用的集成 开发环境(Integrated Development Environment,IDE)。它可 以安装在Windows NT4,Windows 2000,Windows 98,Windows 95,Windows XP和Windows Me操作系统中。
第 8 章 ARM 开发工具ADS
2) Angel调试监控软件 Angel调试监控软件也称为驻留监控软件(Resident Monitors),是一段运行在目标板上的程序,可以接收宿主机上 调试器发送的命令,执行诸如设置断点、单步执行目标程序、读 /写存储器、查看或修改寄存器等操作。宿主机上的调试软件一 般通过串行端口、以太网口或并行端口等通信端口与Angel调试 监控软件进行通信,Angel调试监控程序需要占用一定的系统资 源,如内存、通信端口等。此种调试方式不便于复杂程序调试, 在ARM应用开发中已不常见。
8.1.1 ADS环境下ARM程序开发方式 1.开发工具 开发工具主要是指对嵌入式系统应用软件进行编译、调试以
及对目标硬件平台的仿真等软件工具,嵌入式系统中硬件环境的 多样性决定了这些工具的多平ቤተ መጻሕፍቲ ባይዱ性。
由于嵌入式系统目标机上的资源较为有限(内存、外存容量 小,显示功能弱),直接在目标机上开发和调试应用软件几乎不 可能。因此,一般在高性能计算机的集成开发环境上进行目标机 的嵌入式应用软件开发。现在集成开发环境大多支持普及使用的 PC平台。本书使用的ARM ADS集成开发环境运行在PC机Windows操 作系统平台上。
第 8 章 ARM 开发工具ADS
ADS囊括了一系列的应用工具,并有相关的文档和实例的支 持。使用者可以用它来编写和调试各种基于ARM家族处理器的应 用,可以为 ARM和Thumb处理器开发、编译和调试采用C、C++和 ARM汇编语言编写的程序代码。
ADS主要包含CodeWarrior IDE和AXD两部分。CodeWarrior IDE工具主要用于工程的管理配置、源程序的编辑、编译和链接; AXD主要用于工程的下载和调试。本章将重点介绍图形界面的ADS 1.2 IDE开发工具。
第 8 章 ARM 开发工具ADS
2.编译器 编译器是用于将ASCII码组成的源程序文件翻译成最终可在 目标硬件平台上执行的目标文件的工具软件。将C或C++代码源 程序转换成目标代码程序的过程称为编译。嵌入式系统软件开 发环境中对编译器主要有两点要求: (1) 尽可能优化编译目标代码,以满足嵌入式系统的实时 性。 (2) 能进行跨平台的交叉编译,如在X86硬件平台上编译 ARM处理器硬件平台的目标程序等。
第 8 章 ARM 开发工具ADS
CodeWarrior IDE是基于Windows操作系统平台的工程管理工 具,用户可以根据特定的目标系统配置工具环境,为源代码文件、 库文件建立工程,通过编译链接可生成包含调试信息的ELF格式 的映像文件(*.axf)和可以直接烧写至Flash的BIN格式的二进制 可执行文件(*.bin)。用户使用CodeWarrior IDE,可以便捷地管 理工程、源文件和编译工程等。
第 8 章 ARM 开发工具ADS
3.仿真与调试 所谓仿真,是指在一种硬件平台上使用软件来仿真另外一种 硬件设备。这样,对应用程序的调试便可先在其相应的仿真平台 上进行,在程序初步调试正确后,再装入被仿真的实际硬件平台, 从而降低开发代价。 调试则是排除应用程序中错误的过程。程序员使用调试器提 供的各种功能,如设断点、单步执行、查阅运行中间结果等,分 析判断程序的正确性,逐步完成应用程序的算法调试。调试器的 优劣是衡量软件开发环境好坏的重要标准。 目前常见的调试方法有以下4种:
第 8 章 ARM 开发工具ADS
3) JTAG(Joint Test Action Group,联合测试行为组织) 仿真器
JTAG仿真器也称为JTAG调试器,是通过ARM芯片的JTAG口进 行调试的设备。JTAG仿真器比较便宜,连接比较方便,通过器件 自带的JTAG口与ARM处理器核通信,它不占用目标系统的存储器, 也不占用目标系统的端口等资源。另外,由于JTAG调试的目标程 序是在目标板上执行,仿真更接近于真实的应用情况,因此,许 多接口问题,如高频操作限制、AC和DC参数不匹配、电缆长度的 限制等被最小化了。使用集成开发环境配合JTAG仿真器进行开发 是目前采用最多的一种调试方法。