ES体系结构的研究及其应用ES 内嵌式存储系统(embedded storage)(8)

2019-09-01 08:37

扬州大学硕士学位论文

第四章 嵌入式系统开发工具

4.1 ADS v1.2集成开发环境

ADS(ARM Development Suite)V1.2是ARM公司的ARM软件集成开发环境,可以运行在Windows或者Solaris操作系统。

ADS是集项目管理、文档编辑、编译、链接、调试、仿真的集成开发环境(IDE)。图4.1是ADS编译、链接环境。可以在ADS中,使用C++、C和汇编语言。

图4.1 ADS v1.2 IDE界面

ADS由以下几个部分组成:命令行开发工具、GUI开发工具、工具集、支持软件。

36

周全 ES体系结构的研究及其应用

命令行开发工具有: armcc ARM C编译器。它符合ANSI源代码规范。 armcpp ARM C++编译器。它符合ISO C++或者EC++源代码规范。 Tcc Thumb C编译器。它符合ANSI源代码规范。 Tcpp Thumb C++编译器。它符合ISO C++或者EC++源代码规范。 armasm ARM and Thumb汇编器。它会变ARM汇编语言和Thumb汇编语言代码。 armlink ARM链接器。它合成一个或者多个目标文件的内容,加上选择的目标库文件内容,生成一个可执行程序。ARM链接器生成ELF可执行映像。 armsd ARM and Thumb符号调试器。它支持源代码级程序调试。用户可以在C或者汇编语言代码中单步执行,设置断点和观察点,并且检查程序变量或者内存。 Rogue Wave C++ Rogue Wave库提供ISO/IEC 14822:1998 International Standard for C++定义的标准C++库library 实现。 support libraries ARM C库提供附加的构件来支持不同体系结构和处理器的代码的编译。 ADS提供如下的图形用户界面(GUI): AXD 用于Windows和UNIX的ARM Debugger。它提供完整的Windows和 UNIX环境用于调试C、C++和汇编语言代码。 CodeWarrior IDE 用于Windows的项目管理工具。自动管理源代码和建立你的软件开发项目。 下面的工具集用于支持主要开发工具:

fromELF ARM映像转换工具。它接受ELF格式的输入文件,转换成不同格式的输出文件,包括plain binary、Motorola 32-bit S-record格式、Intel Hex 32格式和Verilog-like hex format。fromELF也可以生成输入文件的文本信息,如代码和数据大小。 armprof ARM profiler显示由ARM debugger生成的profile数据的。 armar ARM库管理器在库中集中并且维护ELF格式目标文件。 Flash downloader 用于下载二进制映像到Flash memory的工具。 下面的支持软件用于仿真调试或者在基于ARM的硬件上调试: ARMulator ARM核心仿真器。提供ARM处理器的指令精确仿真,支持ARM和Thumb可执行程序在非本地硬件上运行。ARMulator与ARM debuggers相集成。 图4.2是ARM调试器AXD Debugger的界面。

37

扬州大学硕士学位论文

图4.2 AXD debugger界面

AXD debugger支持多种调试目标(ARMulator、JTAG Emulator等等),提供统一的调试界面。因此,ADS既可以配合Multi-ICE做硬件调试,又可以使用ARMulator做软件仿真和调试。

4.1.1 调试的概念

1. 调试器(Debugger)

调试器是一种软件,利用它可以使用调试代理(debug agent)来检查和控制调试目标(debug target)上软件的运行。

2. 调试目标(Debug target)

在一个产品开发的早期可能还没有硬件。产品期望的行为可以由软件仿真。并可以与调试器在同一台计算机上运行软件。

当然也可以在建立产品原型的印刷电路板上进行目标系统的调试。 3. 调试代理(Debug agent)

调试代理处理调试器请求的动作,例如:设置断点、读内存、写内存。调试代理不是被调试的程序,也不是调试器本身。调试代理的例子有:

Multi-ICE ARMulator Angel

4. 远程调试接口(Remote Debug Interface)

Remote Debug Interface (RDI)是ARM标准过程接口和调试代理 (参见图4.3)。

38

周全 ES体系结构的研究及其应用

图4.3 RDI调试接口的结构

RDI使调试器以统一的格式同下面的部分通信: ⑴ Host上的调试代理(例如,ARMulator);

⑵ 通过一个通信链路访问的基于ARM的调试监控程序 (例如,Angel); ⑶ 通过硬件调试支持,来控制ARM处理器的调试代理 (例如,Multi-ICE)。 5. 单处理器硬件(Single-processor hardware)

大多数场合,目标系统只有一个处理器。所有的ARM调试器可以在单处理器目标硬件上成功地工作。

6. 多处理器硬件(Multi-processor hardware) 多处理器硬件的需求在不断增长。在有些场合,需要特定的处理器可以专用于特定的任务或者进行并行处理。

调试器可以允许并发的检查和控制几个处理器,实现多处理器的调试。

4.1.2 与目标系统接口

AXD可以在不同的调试系统上运行和调试ARM目标映像。 AXD作为硬件和软件系统的连接点,如图4.4所示。

ARM开发板通过Multi-ICE或者Angel与AXD连接是一种硬件方式; 而ARMulator是一种软件方式。

使用不同的窗口显示应用程序的不同视图,来调试应用程序。 要调试应用系统,就必须选择以下两种调试系统中的一种: ① 基于ARM core的硬件 ② 仿真ARM core的软件 调试器,如AXD、或者armsd.

39

扬州大学硕士学位论文

图4.4 ARM调试系统

4.1.3 调试系统

1. ARMulator

ARMulator是一个程序集合,用于仿真不同ARM处理器的指令集和体系结构。在支持的系统上,提供用于ARM目标开发的软件环境。

支持ARM目标程序的benchmarking。

ARMulator是指令精确的,就是说它对指令集建模而不考虑处理器实际运行的时间。它可以汇报硬件运行的时钟周期数。

2. Multi-ICE and EmbeddedICE

Multi-ICE和Embedded ICE是基于JTAG的调试系统。它们提供调试器和嵌入到ASIC中的ARM core 之间的接口。Multi-ICE是Embedded ICE的替代产品。

3. Angel调试监控程序

Angel是一个调试监控程序,可以用来快速开发和调试运行在ARM硬件上的应用程序。Angel可以在ARM状态或者Thumb状态调试ARM程序。它和需要调试的应用程序运行在同一个目标平台上。

Angel可以使用semihosting,使嵌入的微处理器访问host系统的服务。如屏幕显示、键盘输入和磁盘存储等。

可以使用Angel来在ARM开发板或者定制的硬件上调试应用程序。

4.1.4 Multi-ICE仿真器

Multi-ICE是ARM公司提供的ARM JTAG在线仿真器,与ADS配合使用,可以构建一套ARM开发环境。Mulit-ICE实际上是一个JTAG协议转换器(参见图4.5)。

40


ES体系结构的研究及其应用ES 内嵌式存储系统(embedded storage)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019年中考英语语法专题讲练: 被动语态 讲解附练习(含解析)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: