最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

附录1 ADS1.2 开发环境使用

来源:动视网 责编:小OO 时间:2025-09-27 20:55:39
文档

附录1 ADS1.2 开发环境使用

附录1ADS1.2开发环境使用1.实验目的􀁺熟悉ADS1.2开发环境,使用ADS编译、调试并跟踪一段已有的程序􀁺了解嵌入式开发的基本思想和过程2.实验设备􀁺硬件:PC机􀁺软件:ADS1.2开发工具3.实验原理3.1交叉开发环境概述嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。需要交叉开发
推荐度:
导读附录1ADS1.2开发环境使用1.实验目的􀁺熟悉ADS1.2开发环境,使用ADS编译、调试并跟踪一段已有的程序􀁺了解嵌入式开发的基本思想和过程2.实验设备􀁺硬件:PC机􀁺软件:ADS1.2开发工具3.实验原理3.1交叉开发环境概述嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。需要交叉开发
附录1 ADS1.2 开发环境使用

1. 实验目的

􀁺 熟悉ADS1.2 开发环境,使用ADS 编译、调试并跟踪一段已有的程序

􀁺 了解嵌入式开发的基本思想和过程

2. 实验设备

􀁺 硬件:PC 机

􀁺 软件:ADS1.2 开发工具

3. 实验原理

3.1 交叉开发环境概述

嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件

比较困难,有时候甚至是不可能的。目前一般采用的解决办法是首先在通用计算机上编写程

序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台

上的特定位置上运行。需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式,如图1 所示。

图1 交叉开发环境

交叉开发环境的组成要素:宿主机(Host)是一台通用计算机(如PC 机或者工作站),它通过串口或者以太网接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如WindRiver 的Tornado、Microsoft 的Embedded Visual C++等),能够大大提高嵌入式应用软件的开发速度和效率。目标机(Target)一般在嵌入式应用软件开发期间使用,用来区别与嵌入式系统通信的宿主机,它可以是嵌入式应用软件的实际运行环境,也可以是能够替代实际运行环境的仿真系统,但软硬件资源通常都比较有限。嵌入式系统的交叉开发环境一般包括交叉编译器、交叉调试器和系统仿真器,其中交叉编译器用于在宿主机上生成能在目标机上运行的代码,而交叉调试器和系统仿真器则用于在宿主机与目标机间完成嵌入式软件的调试。在采用宿主机/目标机模式开发嵌入式应用软件时,首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件,然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试,最后目标机在特定环境下脱离宿主机单独运行。

建立交叉开发环境是进行嵌入式软件开发的第一步,目前常用的交叉开发环境主要有开

放和商业两种类型。开放的交叉开发环境的典型代表是GNU 工具链、目前已经能够支持x86、

ARM、MIPS、PowerPC 等多种处理器。商业的交叉开发环境则主要有Metrowerks CodeWarrior、

ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft

Embedded Visual C++等。

3.2 ADS1.2 开发环境简介

ADS 的英文全称为ARM Developer Suite,是ARM 公司推出的新一代ARM 集成开发工具,

用来取代ARM 公司以前推出的开发工具ARM SDT。目前ARM ADS 的最新版本为1.2。ARM ADS 起源于ARM SDT,它对一些SDT 的模块进行了增强,并替换了一些SDT 的组成部分。用户可以感受到的最强烈的变化是,ADS 使用CodeWarrior IDE 集成开发环境替代了SDT 的APM,使用AXD 替换了ADW,现代集成开发环境的一些基本特性(如源文件编辑器语法高亮和窗口驻留等功能)在ADS 中都得以体现。

ARMADS 支持所有ARM 系列处理器,包括最新的ARM9E 和ARMl0。除了ARM SDT 支持

的运行操作系统外,还可以在Windows 2000/Me 及RedHat Linux 上运行。

ARM ADS 由6 部分组成:

1.代码生成工具

代码生成工具(Code Generation Tools)由源程序编译、汇编、链接工具集组成。

ARM 公司针对ARM 系列每一种结构都进行了专门的优化处理。这一点除了作为ARM 结构

的设计者的ARM 公司外,其他公司都无法办到。ARM 公司宣称,其代码生成工具最终生

成的可执行文件最多可以比其他公司工具套件生成的文件小20%。

2.集成开发环境

CodeWarrior IDE 是Metrowerks 公司一套比较有名的集成开发环境,有不少厂商

将它作为界面工具集成在自己的产品中。CodeWarrior IDE 包含工程管理器、代码生成

接口、语法敏感编辑器、源文件和类浏览器、源代码版本控制系统接口及文本搜索引擎

等。其功能与Visual Studio 相似,但界面风格比较独特。ADS 仅在其PC 机版本中集成

了该IDE。

3.调试器

调试器(Debuggers)部分包括两个调试器: ARM 扩展调试器AXD(ARM extended

Debugger)和ARM 符号调试器armsd(ARM Symbolic Debugger)。AXD 基于Windows 9X/NT 风格,AXD 具有一般意义上调试器的所有功能,包括简单和复杂断点设置、栈显示、寄存器和存储区显示及命令行接口等。armsd 作为一个命令行工具辅助调试或者用在其他操作系统平台上。

4. 指令集模拟器

用户使用指令集模拟器(Instruction Set Simulators)无需任何硬件即可在PC上完成一部分调试工作。

5. ARM 开发包

ARM 开发包(ARM Firmware Suite)由一些底层的例程和库组成,帮助用户快速开发

基于ARM 的应用和操作系统。具体包括系统启动代码、串行口驱动程序、时钟例程、中

断处理程序等,Angel 调试软件也包含在其中。

6. ARM 应用库

ADS 的ARM 应用库(ARM Applications Library)完善和增强了SDT 中的函数库,同

时还包括一些相当有用的提供了源代码的例程。用户使用ARM ADS 开发应用程序与使用ARM SDT 完全相同,同样是选择配合Angel驻留模块或者JTAG 仿真器进行。目前大部分JTAG 仿真器均支持ARM ADS。

本实验主要介绍ADS1.2 开发环境的使用,通过实例使读者掌握在ADS1.2 中建立、

编译和调试工程。

4. 实验步骤

步骤1:安装ADS1.2

安装ADS1.2 是本实验的第一步。随机光盘里给出了ADS1.2 的安装文件。

按照下面的图所示一步步安装即可:

1、双击“Setup.exe”,出现如下图所示的画面

2、点“NEXT”,出现如下图所示的画面

3、点“YES”,出现如下图所示的画面

4、选择好软件所要安装的路径,点“NEXT”,出现如下图所示的画面

5、选“Custom”,点“NEXT”,出现如下图所示的画面

6、按照图中所示那样,把那些选项选中,点“NEXT”,出现如下图所示的画面

7、点“NEXT”,出现如下图所示的画面

8、点“NEXT”,出现如下图所示的画面

9、点“NEXT”,如果出现如下图,按<忽略>。

10、点“取消”出现如下图所示的画面

最后要把 Licence,复制到安装目录下,具体操作方法如下说明:

双击打开 ADS 的安装包文件夹,出现如下图所示的画面:

然后双击“Licence_ads1.2”文件夹,出现下图如示把这个“Licese.dat”文件,复制到软件的安装目录下的“licenses”文件夹。

到此,ADS 就可以使用了

步骤2:打开ADS1.2

安装完成后,选择“开始—〉所有程序—〉ARM Developer Suite v1.2”下的“CodeWarrior

for ARM Developer Suite”打开集成开发环境,如图2 所示。

图2 ADS1.2 集成开发环境

步骤3:新建工程

单击File 菜单,选择New 菜单项即弹出New 对话框,如图3 所示。

图 3 新建工程

选择工程模板为ARM 可执行映像(ARM Executable Image),然后在Location 项选择工程存放路径,并在Project name 项输入工程名称,单击“确定”按钮即可建立相应工程,

工程文件名后缀为.mcp,如图4 所示。

图 4 New 对话框

步骤3 编译选项设置

点击确定按钮后出现工程窗口,在工程窗口中选择DebugRel Setting 进入编译

选项设置对话框,如图5、图6 所示。

图 5 进入编译选项对话框

图 6 编译选项对话框

在 Debug Settings 对话框中选择Target Settings 选项,在Post-linker 列表框中选

择ARM fromELF,单击右下角的Apply 按钮使其有效。如图7 所示。

图 7 设置Target Settings

在Debug Settings 对话框中选择ARM Linker 选项,选中Simple 单选按钮,在Simple

image 选项组中设置连接的Read Only(只读)和Read-Write(读写)地址。如图8 所示。

图 8 设置连接地址范围

地址0x30000000 是开发板上SDRAM 的真实地址,是由系统的硬件决定的。本实验中对

系统可读写的内存地址并没有分配,系统将自动分配地址。

点击Layout 选项页,在该选项页中的Place at beginning of image 选项组中设置程

序的入口模块。指定在生成的代码中,程序是从2440init.s 开始运行的。Object/Symbol/

项设为2440init.o,Section 项设为Init,单击右下角的Apply 按钮使其有效。如图9 所示。

图 9 设置入口模块

在Debug Settings 对话框中选择ARM fromELF 选项,设置Output format 为Plain

binary。也可在此对话框中设置生成的BIN 文件名。单击右下角的Apply 按钮使其有效。

图 10 设置Output format

最后在 Language Settings 选项中的 5 个子项中将"Architecture or Processor"  栏 

都选择为 ARM920T。图 11 只列出了 ARM  Assembler 子项的设置情况。 

图11 设置Language Settings

单击 OK 按钮退出设置对话框。 

注意:为了以后建立工程的方便,可以将该工程作为工程模板,以后建立工程时就不需 

要再对工程进行重复设置了。具体方法是在 ADS1.2 安装目录下 Stationery 文件夹中新建一 个文件夹,例如可取名"SinoSys-EA2440a  Template",再将上面建立的工程文件(即.mcp 

的文件)拷贝到这个新建的文件夹中。这样,在每次新建工程时就可以选择名为 "SinoSys-EA2440a  Template"的工程模板了。 

步骤 5:编辑源文件 

选择 File 菜单下的 New,打开 New 对话框。在该对话框中选择 File 选项页,输入文件 名称,文件存放路径并把它加入到刚才所建的工程中。如图 12 所示。 

图12 建立新文件

点击确定按钮后就进入了所建文件的编辑窗口了。在编辑窗口中读者可以自己编写索要

实现的程序代码。本实验为了方便,直接将一个示例代码加入到工程中。

将随机光盘中该实验的示例代码拷贝到刚才所建立的工程目录下。

在工程文件窗口中(本例为adc.mcp 窗口)点击鼠标右键,选择“Add Files”,打开添加文件对话框,选择到所建立的工程文件目录。如图13 所示。

图13 添加文件对话框

点击打开按钮,出现Add Files to Target 对话框,默认选择,点击确定按钮,test1.S文件就被加到工程中了。

步骤6:编译工程

在工程窗口中按“Make”按钮,或者直接按F7 快捷键,编译工程。在出现的错误/警告

窗口中选择某错误/警告信息,ADS 会自动打开相应的源文件并用箭头指向出错的文本行。

错误/警告窗口如图14 所示。

图14 错误/警告窗口

步骤7:利用ARM 软件仿真器调试程序

在ADS 中执行Project|Debug 命令启动ADS1.2 的调试工具AXD。在AXD 中执行Options|Configure Target 命令对AXD 进行设置,如图15 所示。

图15 AXD 设置对话框

在上述对话框中选择ARMUL(软件仿真器),关于硬件仿真器的使用可参照后续实验。

本实验只使用ADS 提供的软件仿真器进行调试。(注意:第一次使用请选择Configure 按钮,在打开的对话框中将处理器类型改为ARM920T。)

点击OK 按钮退出。再重新打开AXD 对话框,可以看到AXD 进入了程序调试窗口。这样

就可以对刚才加入的test1.S 文件进行调试了。如图16 所示。

图16 调试窗口

利用提供的调试工具可以控制程序的运行,设置断点,察看寄存器、存储器等功能。

关于ADS1.2 完整的使用方法及调试方法,可察看ADS1.2 提供的帮助文档。后续实验也

会介绍本实验没有提到的某些ADS1.2 的使用方法。

5. 实验思考

5.1 ADS1.2 开发环境主要由哪几部分构成,各个部分的作用是什么?

5.2 基于ARM9 处理器,在配置ADS1.2 编译选项时,应注意哪些问题?

文档

附录1 ADS1.2 开发环境使用

附录1ADS1.2开发环境使用1.实验目的􀁺熟悉ADS1.2开发环境,使用ADS编译、调试并跟踪一段已有的程序􀁺了解嵌入式开发的基本思想和过程2.实验设备􀁺硬件:PC机􀁺软件:ADS1.2开发工具3.实验原理3.1交叉开发环境概述嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。需要交叉开发
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top