ARMADS集成开发环境的使用
ARMads1.2开发环境的搭建使用
ARMads1.2开发环境的搭建使⽤ARM开发环境的搭建安装平台(ads_1.2(arm 开发⼯具).iso,⽬前存放在D:\汇⽂\arm\⼯具及软件),在windows下安装。
步骤1:双击打开:ads_1.2(arm 开发⼯具).iso-》双击setup.exe,此软件安装完成后需要注册,注册⽂件在ads_1.2(arm 开发⼯具).iso中的crack⽂件夹的license.dat中,将此⽂件导⼊完成后即安装完毕。
步骤2:打开AXD进⾏配置(1):点击进⼊(2):(3)(4):ADD 完成后点击进⼊configure(5)先选择TCP/IP,然后填⼊127.0.0.1的本地回环,过后还要修改回来。
进⼊JTAG,修改JTAG为4800KHZ;(6)完后后会提⽰出错,(7)完成以上步骤后保存设置:file-》save session (保存地址最好在根⽬录下,最好不要有中⽂(⽬前我的安装版本保存在:D:\AXD_session 下;))(8)以上完成后开始OXD-》option-》configure interface,导⼊完成后从新保存并覆盖上⼀步的保存信息。
下次使⽤的时候需要将这些保存信息导⼊才能使⽤。
以上过程可打开jlink的GDB⼯具,⽤于监视单板的连接情况。
(打开SEGGER->jlink GDB)(9)完成以上步骤后,开始进⼊《metroworks codewarrior for ARM Developer suite v1.2》进⾏设置1.⾸先在file 内open⼀个已经ok的程序(在D:\AXD_session\YC2440_LED中的YC2440_LED.mcp),进⼊以下界⾯:备注:metroworks codewarrior for ARM Developer suite v1.2同AXD 的关系,metroworks codewarrior for ARM Developer suite v1.2⽤于编辑,AXD⽤于调试2.点击seting 进⼊设置界⾯:Run ,点击后会运⾏此程序,运⾏时会⾃动打开AXDARM :32位指令, Thumb :16位精简指令使⽤介绍:1:⽣产.bin⽂件,⽤于烧录到单板中。
ADS集成开发环境的使用
ADS集成开发环境的使用简介ADS(Advanced Development Studio)是一款专业的集成开发环墨拉环境,提供了丰富的功能和工具,帮助开发人员进行软件开发、调试和测试。
本文将介绍ADS集成开发环境的基本使用方法,让您快速上手并提高开发效率。
安装ADS在使用ADS之前,首先需要进行软件的安装。
您可以在官方网站上下载最新版本的ADS安装包,根据操作系统的不同选择对应的安装程序进行安装。
安装时请务必注意软件的安装路径和所需的依赖库。
启动ADS安装完成后,双击ADS的桌面图标或在命令行中输入相应的命令来启动ADS。
在启动过程中,您可以设置一些基本配置,如显示语言、主题等。
创建项目在ADS中,项目是进行开发工作的基本单位。
您可以通过菜单栏或快捷键来创建新项目。
在创建项目时,请选择项目类型、保存路径等信息。
一旦项目创建成功,您就可以开始编写代码了。
编写代码ADS集成了各种常用的编程工具,如代码编辑器、调试器、版本控制等。
您可以在代码编辑器中编写代码,并利用自动补全、语法检查等功能提高开发效率。
同时,ADS还支持多种编程语言,如Java、Python、C++等,满足各种开发需求。
调试程序在开发过程中,调试是必不可少的环节。
ADS提供了强大的调试工具,如断点调试、变量查看等功能,帮助您快速定位问题并解决bug。
代码版本控制为了管理项目代码的版本,避免不必要的冲突和错误,您可以使用ADS集成的版本控制工具,如Git、SVN等。
通过版本控制,您可以轻松地管理代码的变更、提交和回滚。
插件和扩展ADS支持丰富的插件和扩展,可以根据自己的需求进行定制和扩展。
通过安装适配的插件,您可以增加ADS的功能和性能,提高开发效率。
总结通过本文的介绍,您应该对ADS集成开发环境的基本使用有了初步了解。
在实际开发中,不同的项目和需求可能需要进一步的学习和实践。
希望本文能够帮助您更好地利用ADS进行软件开发工作。
祝您开发顺利!以上就是关于ADS集成开发环境的使用的相关内容,希望对您有所帮助。
ADS开发环境安装配置
IO0CLR = LED3CON;//亮灯
Delay(200);//延时
IO0SET = LED3CON;//灭灯
}
}
4、配置项目
单击项目管理器中的生成的项目类型:“RealInFlash”,如下图9所示,单击右侧的第一个按钮 (“Setting”按钮),打开Settings对话框,如图10所示。
图11
*出口参数:无
****************************************************************************/
void Delay(intdly)
{
inti;
for(; dly>0; dly--)
for(i=0; i<600; i++);
}
/****************************************************************************
*名称:main()
*功能:控制LED闪烁
****************************************************************************/
void main(void)
{
PINSEL0 = 0x00000000;//设置所有管脚连接GPIO
PINSEL1 = 0x00000000;
图8
3、编写源代码
在图8中,选中mai.c,在“#include“config.h””处编写如下代码,实现流水灯功能:
#defineLED3CON (0x1<<17) /*P0.17*/
ADS 1.2整合开发环境的使用.
1.2 編譯和鏈結工程
如果該符號有多處定義存在,armlink將產生出錯資訊。 offset+object(section):該選項指定在某個目標檔的段的內部的某個偏移 量處為映射檔的進入位址,例如: -entry 8+startup(startupseg) 在此處指定的進入點用於設置ELF映射檔的進入位址。 需要注意的是,這裏不可以用符號main作為進入點位址符號,否則將會 出現類似:“Image dose not have an entry point (Not specified or not set due to multiple choice)”的錯誤資訊。 在Layout選項中,需要的設置如圖10-1.7,設置asm.O目標檔中的Init為 整個文件的進入點。 關於ARM Linker的設置還有很多,對於想進一步深入瞭解的讀者,可以 查看幫助檔,都有很詳細的介紹。 在Linker下還有一個ARM from ELF,如圖1.9所示。 From ELF就是在10-1節中介紹的一個實用工具,它實現將鏈結器,編譯 器或組譯器的輸出程式進行格式轉換的功能。例如,將ELF格式的可執 行映射檔轉換成可以燒寫到ROM的二進位格式檔案;對輸出檔案進行反 組譯,從而提取出有關目標檔案的大小,符號和字串表以及重置位址等 資訊。
1.2 編譯和鏈結工程
Linker設置 滑鼠選中ARM Linker,出現如圖1.6所示對話方塊。這裏 詳細介紹該對話方塊的主要的標籤頁選項,因為這些選項 對最終生成的檔案有著直接的影響。 在標籤頁Output中,Linktype中提供了三種鏈結方式。 Partial方式表示鏈結器只進行部分鏈結,經過部分鏈結生 成的目標檔,可以作為以後進一步鏈結時的輸入檔案。 Simple方式是預設的鏈結方式,也是使用最為頻繁的鏈結 方式,它鏈結生成簡單的ELF格式的目標檔案,使用的是 鏈結器選項中指定的位元元址映射方式。Scat tered方式 使得鏈結器要依據scatter格式檔中指定的位址映射,生成 複雜的ELF格式的映射檔案。這個選項一般情況下,使用 不太多。
ADS 集成开发环境及JLink(其他工具也可以)仿真器应用
ADS 集成开发环境及JLink(其他工具也可以)仿真器应用ADS 集成开发环境是ARM 公司推出的ARM 核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2。
ADS1.2 支持ARM10 之前的所有ARM 系列微控制器,支持软件调试及JTAG 硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、Windows XP、Windows2000 以及RedHat Linux 上运行。
这里将简单介绍使用ADS1.2 建立工程,编译连接设置,调试操作等等。
ADS 1.2 使用了CodeWarrior IDE 集成开发环境,并集成了ARM 汇编器、ARM 的C/C+编译器、Thumb 的C/C++编译器、ARM 连接器,包含工程管理器、代码生成接口、语法敏感(对关键字以不同颜色显示)编辑器、源文件和类浏览器等等。
1、打开ADS1.2中的AXD软件:2、点击工具栏" Options " -> "Configure Target ",将弹出如下对话框:3. 点击上图所示对话框中的" ADD ",然后选中我的HTAG安装目录下的Multi-ICE.dll,设置好后如下图所示,再点击OK:4. 点击ACD工具栏" FIle " -> "Load Image ",选择跑马灯的调试文件( 后缀为.axf,位置和实验三中的那个最终生成的.bin文件一样,也是在用ADS编译跑马灯程序的时候生成的 ),将弹出调试代码框:5. 在AXD的工具栏" Execute "下有许多调试操作( 单步运行,设置断点等 ),可用来进行调试进行。
6. 点击工具栏" Processor Views " -> " Registers "可以查看寄存器的状态:7 . 点击工具栏" Processor Views " -> " Memory "可以查看存储器的状态:8. 如果要查看某个变量的值在调试运行中的变化,可以选中某个变量,点击右键,再选择" Add to watch ",随即将出现watch对话框,如下图所示,可以在这里观察到变量的变化情况,变量值初始以十六进制显示,如果习惯十进制,可以在该对话框点击右键 -> " Format " -> "Decimal ":12. 完整的调试界面:。
ADS1.2 集成开发环境使用手记
ADS1.2集成开发环境使用手记一、概括ARM ADS的全称为ARM Developer Suite,它是ARM公司推出的新一代ARM集成开发环境,我们使用的ADS为1.2版本,它取代了早期的ADS1.1和ADS1.0,它可以安装在WindowsNT/2000/98/95/XP上面使用。
这个教程的主要目的,是让大家掌握ADS1.2开发的基本流程,不涉及代码讲解。
开发ARM,首先得会编写源码并且编译。
万事开头难,我们先不管具体细节,先拿现成的代码熟悉一遍开发环境,再慢慢修改代码去!二、软件环境PC:-Windows XP/VISTA(我是在VISTA下的做,大家笔记本是VISTA系统的不要担心兼容性)集成环境:-ADS1.2(下载地址:/MCU123_temp_0080309@/ARM/ads1.2.rar)三、正文本节通过一个简单的具体实例,介绍如何使用ADS集成开发环境。
包括如何创建一个新的工程,如何配置编译选项,并编译生成可以直接烧写到Flash中的bin格式二进制可执行文件和用于JLINK仿真调试的axf文件。
1.建立一个工程在ADS集成开发环境中,点File->New,打开如图所示窗口:--ARM技术交流网 --ARM 技术交流网可以看到有7种工程类型可以选择:ARM Excuteable Image :用于由ARM 指令的代码生成一个ELF 格式的可以执行映象文件。
ARM Object Library :用于由ARM 指令的代码生成一个armar 格式的目标文件库。
Empty Project :用于创建一个不包含任何库或者源文件的工程。
Makefile Importer Wizard :用于将Visual C 的nmake 或者GNU make 文件转入到CodeWarrior IDE 工程文件。
Thumb ARM Excutable Image :用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映象文件。
ADS1.2使用说明
3. 工程的仿真与调试
加载调试可执行文件 点击【File】选择【Load Image…】加载ELF 格式的可执行文件,即*.axf 文件。说明: 当工程编译连接通过后,在“工程名\工程名_Data\当前的生成目标”目录下就会生成一个 *.axf 调试文件。比如工程TEST,当前的生成目标Debug,编译连接通过后,则 在…\TEST\TEST_Data\Debug 目录下生成TEST.axf 文件。
生成文件类型 生成文件目录
方法: •在“ARM fromELF” 页面中【Output format】 中选择“Intel 32 bit Hex”选项; •然后【Output file name】中设置输出 Hex文件的存放路径和 文件名称 •最后点击【OK】就 设置完成。
工程设置界面
4. 程序固化(下载)
2. 工程的编辑
打开旧工程 点击【File】菜单,选择【Open…】即弹出“打开”对话框,找到相应的工程文件 (*.mcp),单击【打开】即可。在工程窗口的【Files】页中,双击源程序的文件名即可打开 该文件进行编辑。
打开
双击源程序文件名
编辑
3. 工程的仿真与调试
• 选择调试目标
启动AXD调试软件 当工程编译连接通过后,在工程窗口中点击“Debug”图标按钮,即可启动AXD进行调 试(也可以通过【开始】菜单起动AXD)。
5.注意事项
仿真器的应用问题 在ADS1.2 IDE 环境中按F5 键或Debug 图标按钮即可直接进入AXD,但有时会出现如下 图所示的提示,不必理会,处理方法是点击“确定”,然后在弹出的Load Session 窗口中点 击“取消”,即会弹出AXD调试窗口。
谢谢!
4. 程序固化(下载)
ADS 集成开发环境配置
ADS 集成开发环境一、预备知识:ADS其实就是Arm Develope Suite。
主要由armcc,Code Warrior,以及AXD组成。
armcc是编译器,Code Warrior是编辑控制器,AXD是调试器。
二、工程的编辑1. 建立工程点击WINDOWS 操作系统的【开始】->【程序】->【ARM Developer Suite v1.2】-> 【CodeWarrior for ARM Developer Suite】起动Metrowerks CodeWarrior,或双“CodeWarriorfor ARM Developer Suite”快捷方式起动。
启动ADS1.2 IDE 如图下图所示:2. 点击" File " -> "New "新建工程,将跳出如下对话框:左边选择ARM Executable Image,右边可以输入自己想要创建工程的名字和工程文件的保存路径。
有必要说明这几种工程文件类型:1. ARM Executable Image用于由arm指令代码形成一个ELF格式的可执行镜像文件。
2. ARM Object Library:用于由arm指令代码生成一个armar格式的指令库。
3. Empty Project:顾名思义,产生一个空的工程文件。
4. Makefile Import Wizard:用于将VC的nmake和linux的make导入到Code Warrior工程文件夹中。
5. Thumb ARM Interworking Image:用于由humb指令和arm的混合指令生成一个ELF可执行镜像文件。
6, 7对应1, 2,用的指令从arm变成thumb。
3. 建立文件建立一个文本文件,以便输入用户程序。
点击“New Text File”图标按钮,如图下图所示。
然后在新建的文件中编写程序,点击“Save”图标按钮将文件存盘(或从【File】菜单选择【Save】),输入文件全名,如Test1.S或者Test1.c。
四ARM实验ADSL开发环境基础.
嵌入式系统实验四 ADS1.2 开发环境基础一、实验目的1、熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。
2、使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。
二、实验内容本次实验使用ADS 集成开发环境。
新建一个简单的工程文件,并编译这个工程文件。
学习ARM 仿真器的使用和开发环境的设置。
下载已经编译好的文件到嵌入式控制器中运行。
学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。
三、预备知识C 语言的基础知识、程序调试的基础知识和方法。
四、实验步骤1、ADS工程建立(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。
选择File|New…菜单,在对话框中选择Project,如图1B-1 所示,新建一个工程文件。
图中示例的工程名为Exp6.mcp。
点set…按钮可为该工程选择路径(选中CreatFolder 选项),以图2-1 中的ProjectName为名创建目录,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。
在图2-1 中工程模板列表中的2410 ARM Executable Image 是专为本嵌入式开发板设置的工程模板,后文有具体说明。
在此也可选择ARM Executable Image 通用模板。
图2-1(2)在新建的工程中,如图2-2 所示,选择Debug 版本,使用Edit | Debug Settings菜单对Debug 版本进行参数设置。
图2-2(3)在Debug Settings 对话框中选择Target Settings 项,如图2-3 所示。
在Post-linker 一栏中选择ARM fromELF。
图2-3(4)在Debug Settings 对话框中选择ARM Linker 项,如图2-4。
在Output 选项卡的Simple image 框中设置连接的Read-Only(只读)和Read-Write(读写)地址。
ARM嵌入式系统第8章ARMADS集成开发环境
创建工程
ADS中的CodeWarrior是集管理、编辑、编译、 链接于一体的集成开发环境。用户可以利用工 程管理的思想组织项目开发中的源文件、库文 件、头文件和其他相关的输入输出文件。
工程能够将所有的源码文件有机地组织在一起, 并决定最终生成文件存放的路径,输出的格式 等。
AXD调试环境_查看反汇编代码
•ARM嵌入式系统第8章ARMADS集 成开发环境
使用JTAG仿真器来调试程序
使用AXD可以完成对程序的软件仿真调 试,但要完成硬件仿真和调试功能,则 需要通过JTAG仿真器实现ARM处理器与 主机的通信联络。
•ARM嵌入式系统第8章ARMADS集 成开发环境
使用JTAG仿真器来调试程序
•ARM嵌入式系统第8章ARMADS集 成开发环境
初始化存储器
通常ARM处理器都集成有SDRAM控制器。程序的在线 调试实际上是要将程序代码通过JTAG仿真器下载到处 理器的SDRAM空间执行,但是SDRAM在初始化上电时 并不能直接访问,必须配置它的刷新计数值、刷新时 间、刷新使能等才可以访问。
初始化存储器就是设置ARM处理器的某些寄存器,实 现对SDRAM存储空间映射的初始化过程。
EELIOD系统硬件决定了在进行JTAG调试时,一上电 SDRAM并没有初始化,故不能直接访问,下载程序前 需要先进行SDRAM的初始化工作。
•ARM嵌入式系统第8章ARMADS集 成开发环境
初始化存储器
ARMulaor可以提供指令执行时内部寄存器状况 及执行周期,可以进行应用程序的性能分析, 这样就为软硬件并行开发提供了极大的方便。
•ARM嵌入式系统第8章ARMADS集 成开发环境
ADS1.2集成开发环境使用手记(精)
ADS1.2 集成开发环境使用手记收藏集成环境:- ADS1.2( 下载地址:/MCU123_temp_0080309@/ARM/ads1.2.rar三、正文。
本节通过一个简单的具体实例,介绍如何使用ADS 集成开发环境。
包括如何创建一个新的工程,如何配置编译选项,并编译生成可以直接烧写到Flash 中的bin 格式二进制可执行文件和用于JLINK 仿真调试的axf 文件。
1. 建立一个工程在ADS 集成开发环境中,点File->New ,打开如图所示窗口:[attachment=492]可以看到有7 种工程类型可以选择:ARM Excuteable Image :用于由ARM 指令的代码生成一个ELF 格式的可以执行映象文件。
ARM Object Library :用于由ARM 指令的代码生成一个armar 格式的目标文件库。
Empty Project :用于创建一个不包含任何库或者源文件的工程。
Makefile Importer Wizard :用于将Visual C 的nmake 或者GNU make 文件转入到CodeWarriorIDE 工程文件。
Thumb ARM Excutable Image :用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映象文件。
Thumb Excutable image :用于由Thumb 指令创建一个可执行的ELF 格式的映象文件。
Thumb Object Library :用于由Thumb 指令的代码生成一个armar 格式的目标文件库。
我们在这里选择ARM Executable Image ,在“Project name :”中输入工程文件名,本例为“test ”,点击“Location :”文本框的“Set ”按钮,浏览选择想要保存该工程的路径( 本例为“D:\test ” ,将这些设置好之后,点击“确定”,即可创建一个新的名为test 的工程。
ARM开发软件ADS教程
ARM开发软件ADS教程(中文)ADS(ARM Developer Suite)是ARM公司推出ARM集成开发环境,操作简单方便,获得广大开发人员的青睐。
下面使用ADS v1.2做一个实例教程,帮助大家学会使用ADS编写程序和仿真调试。
(使用汇编语言)首先:下载ADS v1.2版本(英文版)并安装好ADS。
安装好ADS之后可以看到开始菜单---所有程序---ARM Developer Suite v1.2程序组下面开始新建一个工程第一步:单击“开始“>>所有程序>>ARM Developer Suite v1.2 >>选择CodeWarrior for ARM Developer Suite 打开codewarrior 界面(如下图所示),再选择File >> New .新建一个工程第二步:在工程向导中选择Project 选项卡,选择ARM Executable Image 并输入工程名称为first选择工程文件保存目录等(如下图所示)第三步:选择Targets选项卡再双击DebugRel 进入配置对话框第四步:在配置对话框中选择ARM Linker 在RW base 中输入0x10000单击确定第五步:建立好一个工程项目之后,接下来是新建一个源程序,单击File >> New 选择File选项卡,在File name中输入文件名test.s选择Add to Project在Targets选项中选择Debug、DebugRel、Release这三个选项然后单击确定第六步:编写程序在test.s中输入如下程序AREA MYPRO,CODE,READONLYENTRYMOV R1,#20MOV R2,#30CMP R1,R2 ;比较R1与R2BLT HERE ;如果R1小于R2则跳转到HERE(其中HERE是标号)MOV R3,#0HERE MOV R3,#1END本程序是比较R1,R2的大小,如果R1小于R2则给R3赋1。
ADS开发环境的使用之在ADS中进行裸机程序的编辑编译及运行
掌握了基本的汇编指令和伪操作后,就具备了编写简单ARM汇编程序的基本理论能力,不过要实战得到真实可执行的程序,还需要可以对程序进行编辑和编译的开发环境(命令行编译器或IDE)的支持,同时程序在开发过程中免不了要进行调试,这就需要调试器的支持。
一般而言,会有供应商将程序的编辑器、编译器、调试器以及其它一些辅助工具组合在一起,形成程序的开发、调试集成开发环境(IDE)软件,提供给程序开发人员使用。
对ARM程序开发而言,目前比较流行的IDE有2套:运行于Windows平台的ADS和运行于Linux平台的gcc等交叉编译工具链。
总的来看,ADS在程序的编译和调试方面要比gcc使用起来方便很多,也更容易掌握和使用,因此针对初学者,本书现在将展示ADS的使用。
在进行下面的学习之前,请自行在Windows主机上安装ARM公司出品的ads1.2这个集成开发环境软件。
1.4.1在编辑编译器ADS中进行裸机程序的编辑、编译、运行ADS集成开发环境,主要由编辑编译器Code Warrior和调试器AXD组成。
首先使用CodeWarrior对程序进行编辑和编译,过程如下:1.建立工程(1)在磁盘里新建一个目录“E:\arm”(2)打开ADS软件(3)点击工具栏“File”,下拉点击“New…”图1-7新建工程2.选择工程类型图1-8选择工程类型PS:ARM Executable Image生成ELF格式映像(bin)ARM Object Library生成armar格式目标库文件Empty Project创建不包含任何库或源文件的工程Makefile Importer Wizard用于VcThumb ARM Interworking Image用于ARM和thumb指令混合代码生成的ELF映像Thumb Executable image用thumb指令生成ELF格式映像Thumb Object Library用于Thumb指令的代码生成的armar格式文件3.输入工程名称及其目录4.工程建立后的情形5.新建工程后的目录图1-11新建工程后的目录6.新建源文件并加入工程与target(对象)图1-12新建源文件并加入工程与targetPS:另外在E:\arm\ledcircle\app中添加LEDTEST.c和delay.s文件,文件内容可以参看本word目录下的ledcircle文件夹;7.编辑汇编和C的源代码图1-13编辑汇编源代码图1-14编辑C源代码8.编译源代码及其结果显示图1-15编译(make)菜单图1-16编译结果以上是最普通(也是最简单)的源代码编辑和编译过程。
ARM ADS集成开发环境
• 在这里选择ARM Executable Image,在“Project name:” 中输入工程文件名,本图例为“ledcircle”,点击 “Location:”文本框的“Set…”按钮,浏览选择想要将该工 程保存的路径,将这些设置好后,点击“确定”,即可建 立一个新的名为ledcircle的工程。
调试器能够发送以下指令: • 装载映像文件到目标内存; • 启动或停止程序的执行; • 显示内存,寄存器或变量的值; • 允许用户改变存储的变量值。
Debug agent
Debug agent执行调试器发出的命令动作,比 如:设置断点,从存储器中读数据,把数据 写到存储器等。
实用程序
ADS提供以下的实用工具来配合前面介绍的命令行开发工具 的使用 • fromELF 这是ARM映像文件转换工具。该命令将ELF格 式的文件作为输入文件,将该格式转换为各种输出格式的 文件,包括plain binary(BIN格式映像文件), Motorola 32bit S-record format(Motorola 32位S格式映像文件), Intel Hex 32 format(Intel 32位格式映像文件),和 Verilog-like hex format(Verilog 16进制文件)。FromELF命令也能够为 输入映像文件产生文本信息,例如代码和数据长度。
2. ADS调试器
• 调试器本身是一个软件,用户通过这个软 件使用debug agent可以对包含有调试信息 的,正在运行的可执行代码进行比如变量 的查看,断点的控制等调试操作。 • ADS中包含有3个调试器: • AXD(ARM eXtended Debugger):ARM扩 展调试器; • armsd(ARM Symbolic Debugger):ARM符 号调试器;
第6章 ARM ADS集成开发环境
第6章 ARM ADS集成开发环境
选中 CreatFolder 选项后将以图6.4中的 ProjectName 或图 6.5 中的文件名为名创建目录,这样可以将所有与该工程相关的 文件放到该工程目录下,便于管理工程。在输入了工程名和选 择了工程路经后,单击“确定”,就生成一个新的工程项目。
第6章 ARM ADS集成开发环境
第6章 ARM ADS集成开发环境
②点击 “下一步”,会出现图6.2所示的对话框。
第6章 ARM ADS集成开发环境
③选默认的“Install License‖,再点击“下一步”,会出现图6.3 所示的对话框。 ④在图6.3中的注册码Code输入框和注册文件Location输入框 中两者只能输入一个,输入
第6章 ARM ADS集成开发环境 在图 6.4新建工程对话框中打开Project选项,列出了下面可供选择的 工程项目模板: ● ARM Executable Image 用于由ARM指令的代码生成一个可执行的ELF 格式的映像文件。是常选项。 ● ARM Object Library用于由ARM指令的代码生成一个armar格式的目标 文件库。 ● Empty Project 用于生成一个不包含任何源文件和库文件的空的工程项目。 ● Makefile Importer Wizard 用于将一个Visual C 的 nmake 文件转换成 CodeWarrior的工程项目文件。
第6章 ARM ADS集成开发环境
● Output Directory 用于定义本工程项目的数据目录。工程项目的生成文件 存放在该目录中。默认的取值为{Project},用户可以单击 Choose 按钮修改 该数据目录。 ● 单击 Save 按钮保存本组选项的设置。 注:通常的目标设置如图 6.7 所示。 (2)设置Access Paths选项组 Access Paths选项组中的选项如图6.8 所示。
ADS开发环境的使用之在ADS中进行裸机程序的编辑编译及运行
ADS开发环境的使用之在ADS中进行裸机程序的编辑编译及运行掌握了基本的汇编指令和伪操作后,就具备了编写简单ARM汇编程序的基本理论能力,不过要实战得到真实可执行的程序,还需要可以对程序进行编辑和编译的开发环境(命令行编译器或IDE)的支持,同时程序在开发过程中免不了要进行调试,这就需要调试器的支持。
一般而言,会有供应商将程序的编辑器、编译器、调试器以及其它一些辅助工具组合在一起,形成程序的开发、调试集成开发环境(IDE)软件,提供给程序开发人员使用。
对ARM程序开发而言,目前比较流行的IDE有2套:运行于Windows平台的ADS和运行于Linux平台的gcc等交叉编译工具链。
总的来看,ADS在程序的编译和调试方面要比gcc使用起来方便很多,也更容易掌握和使用,因此针对初学者,本书现在将展示ADS的使用。
在进行下面的学习之前,请自行在Windows主机上安装ARM公司出品的ads1.2这个集成开发环境软件。
1.4.1在编辑编译器ADS中进行裸机程序的编辑、编译、运行ADS集成开发环境,主要由编辑编译器Code Warrior和调试器AXD组成。
首先使用CodeWarrior对程序进行编辑和编译,过程如下:1.建立工程(1)在磁盘里新建一个目录“E:\\arm”(2)打开ADS软件(3)点击工具栏“File”,下拉点击“New…”图1-7新建工程2.选择工程类型图1-8选择工程类型PS:ARM Executable Image生成ELF格式映像(bin)ARM Object Library生成armar格式目标库文件Empty Project创建不包含任何库或源文件的工程Makefile Importer Wizard用于VcThumb ARM Interworking Image用于ARM和thumb指令混合代码生成的ELF映像Thumb Executable image用thumb指令生成ELF格式映像Thumb Object Library用于Thumb指令的代码生成的armar格式文件3.输入工程名称及其目录4.工程建立后的情形5.新建工程后的目录图1-11新建工程后的目录6.新建源文件并加入工程与target(对象)图1-12新建源文件并加入工程与targetPS:另外在E:\\arm\\ledcircle\\app中添加LEDTEST.c和delay.s 文件,文件内容可以参看本word目录下的ledcircle文件夹;7.编辑汇编和C的源代码图1-13编辑汇编源代码图1-14编辑C源代码8.编译源代码及其结果显示图1-15编译(make)菜单图1-16编译结果以上是最普通(也是最简单)的源代码编辑和编译过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM ADS集成开发环境的使用在这一章里,将介绍ARM开发软件ADS(ARM Developer Suite)。
通过学习如何在CodeWarrior IDE集成开发环境下编写,编译一个工程的例子,使读者能够掌握在ADS软件平台下开发用户应用程序。
本章还描述了如何使用AXD调试工程,使读者对于调试工程有个初步的理解,为进一步的使用和掌握调试工具起到抛砖引玉的作用。
本章主要容有:- ADS软件组成介绍-使用ADS创建工程-用AXD进行代码调试8.1ADS集成开发环境组成介绍ARM ADS全称为ARM Developer Suite。
是ARM公司推出的新一代ARM集成开发工具。
现在ADS的最新版本是 1.2,它取代了早期的ADS1.1和ADS1.0。
它除了可以安装在Windows NT4,Windows 2000,Windows 98和Windows 95操作系统下,还支持Windows XP 和Windows Me操作系统。
ADS由命令行开发工具,ARM时实库,GUI开发环境(Code Warrior和AXD),实用程序和支持软件组成。
有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。
下面就详细介绍一下ADS的各个组成部分。
8.1.1命令行开发工具这些工具完成将源代码编译,成可执行代码的功能。
ADS提供下面的命令行开发工具:armccarmcc是ARM C编译器。
这个编译器通过了Plum Hall C Validation Suite为ANSI C的一致性测试。
armcc用于将用ANSI C编写的程序编译成32位ARM指令代码。
因为armcc是我们最常用的编译器,所以对此作一个详细的介绍。
在命令控制台环境下,输入命令:armcc –help可以查看armcc的语法格式以及最常用的一些操作选项armcc最基本的用法为: armcc [options] file1 file2 ... filen这里的option是编译器所需要的选项,fiel1,file2…filen是相关的文件名。
这里简单介绍一些最常用的操作选项。
-c:表示只进行编译不文件;-C:(注意:这是大写的C)禁止预编译器将注释行移走;-D<symbol>:定义预处理宏,相当于在源程序开头使用了宏定义语句#define symbol ,这里symbol默认为1;-E:仅仅是对C源代码进行预处理就停止;-g<options>:指定是否在生成的目标文件中包含调试信息表;-I<directory>:将directory所指的路径添加到#include的搜索路径列表中去; -J<directory>:用directory所指的路径代替默认的对#include的搜索路径;-o<file>:指定编译器最终生成的输出文件名。
-O0:不优化;-O1:这是控制代码优化的编译选项,大写字母O后面跟的数字不同,表示的优化级别就不同,-O1关闭了影响调试结果的优化功能;-O2:该优化级别提供了最大的优化功能;-S:对源程序进行预处理和编译,自动生成汇编文件而不是目标文件;-U<symbol>:取消预处理宏名,相当于在源文件开头,使用语句#undef symbol;-W<options>:关闭所有的或被选择的警告信息;有关更详细的选项说明,读者可查看ADS软件的在线帮助文件。
armcpparmcpp是ARM C++编译器。
它将ISO C++ 或EC++ 编译成32位ARM指令代码。
tcctcc是Thumb C 编译器。
该编译器通过了Plum Hall C Validation Suite为ANSI 一致性的测试。
tcc将ANSI C源代码编译成16位的Thumb指令代码。
tcpptcpp是Thumb C++ 编译器。
它将ISO C++ 和EC++ 源码编译成16位Thumb指令代码。
armasmarmasm是ARM和Thumb的汇编器. 它对用ARM 汇编语言和Thumb 汇编语言写的源代码进行汇编。
armlinkarmlink是ARM连接器。
该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行,生成一个可执行文件,也可以将多个目标文件部分成一个目标文件,以供进一步的。
ARM器生成的是ELF格式的可执行映像文件。
armsdarmsd是ARM 和Thumb的符号调试器。
它能够进行源码级的程序调试。
用户可以在用C 或汇编语言写的代码中进行单步调试,设置断点,查看变量值和存单元的容。
8.1.1.1armcc用法详解下面为读者介绍上述的4种ARM C和C++编译器的命令通用语法。
compiler [PCS-options] [source-language] [search-paths] [preprocessor-options] [output-format] [t arget-options] [debug-options] [code-generation-options] [warning-options] [additional-checks] [e rror-options] [source]用户可以通过命令行操作选项控制编译器的执行。
所有的选项都是以符号”-”开始,有些选项后面还跟有参数。
在大多数情况下,ARM C和 C++编译器允许在选项和参数之间存在空格。
命令行中各个选项出现顺序可以任意。
这里的compiler是指armcc,tcc, armcpp和 tcpp中的一个;PCS-options:指定了要使用的过程调用标准;source-language:指定了编译器可以接受的编写源程序的语言种类。
对于C编译器默认的语言是ANSI C,对于C++编译器默认是ISO标准C++;search-paths:该选项指定了对包含的文件(包括源文件和头文件)的搜索路径;preprocessor-options:该选项指定了预处理器的行为,其中包括预处理器的输出和宏定义等特性;output-format:该选项指定了编译器的输出格式,可以使用该项生成汇编语言输出列表文件和目标文件;target-options:该选项指定目标处理器或ARM体系结构;debug-options:该选项指定调试信息表是否生成,和该调试信息表生成时的格式;code-generation-options:该选项指定了例如优化,字节顺序和由编译器产生的数据对齐格式等选项;warning-options:该选项决定警告信息是否产生;additional-checks:该选项指定了几个能用于源码的附加检查,例如检查数据流异常,检查没有使用的声明等;error-options:该选项可以关闭指定的可恢复的错误,或者将一些指定的错误降级为警告;source:该选项提供了包含有C或C++源代码的一个或多个文件名,默认的,编译器在当前路径寻找源文件和创建输出文件。
如果源文件是用汇编语言编写的(也就是说该文件的文件名是以.s作为扩展名),汇编器将被调用来处理这些源文件。
如果操作系统对命令行的长度有限制,可以使用下面的操作,从文件中读取另外的命令行选项:-via filename该命令打开文件名为filename的文件,并从中读取命令行选项。
用户可以对-via进行嵌套调用,亦即,在文件filename中又通过-via finlename2包含了另外一个文件。
在下面的例子中,从input.txt文件中读取指定的选项,作为armcpp的操作选项:armcpp -via input.txt source.c以上是对编译器选项的一个简单概述。
它们(包括后面还要介绍的其他一些命令工具)既可以在命令控制台环境下使用,同时由于它们被嵌入到了ADS的图形界面中,所以也可以在图形界面下使用。
8.1.1.2armlink用法详解在介绍armlink的使用方法之前,先介绍要涉及到的一些术语。
映像文件(image):是指一个可执行文件,在执行的时候被加载到处理器中。
一个映像文件有多个线程。
它是ELF(Executable and linking format)格式的。
段(Section):描述映像文件的代码或数据块。
RO:是Read-only的简写形式。
RW:是Read-write.的简写形式。
ZI:是Zero-initialized的简写形式。
输入段(input section):它包含着代码,初始化数据或描述了在应用程序运行之前必须要初始化为0的一段存。
输出段(output section):它包含了一系列具有相同的RO,RW或ZI属性的输入段。
域(Regions):在一个映像文件中,一个域包含了1至3个输出段。
多个域组织在一起,就构成了最终的映像文件。
Read Only Position Independent(ROPI):它是指一个段,在这个段中代码和只读数据的地址在运行时候可以改变。
Read Write Position Independent(RWPI):它是指一个段,在该段中的可读/写的数据地址在运行期间可以改变。
加载时地址:是指映像文件位于存储器(在该映像文件没有运行时)中的地址。
运行时地址:是指映像文件在运行时的地址。
下面介绍一下armlink命令的语法完整的连接器命令语法如下:armlink [-help] [-vsn] [-partial] [-output file] [-elf] [-reloc][-ro-base address] [-ropi][-rw-base address] [-rwpi] [-split][-scatter file][-debug|-nodebug][-remove?RO/RW/ZI/DBG]|-noremove] [-entry location ][-keep section-id] [-first section-id] [-last section-id] [-libpath pathlist] [-scanlib|-noscanlib] [-local s|-nolocals] [-callgraph] [-info topics] [-map] [-symbols] [-symdefs file] [-edit file] [-xref] [-xreffr om object(section)] [-xrefto object(section)] [-errors file] [-list file] [-verbose][-unmangled |-mangled] [-match crossmangled][-via file] [-strict][-unresolved symbol][-MI|-LI|-BI] [input-file-list]上面各选项的含义分别为:-help这个选项会列出在命令行中常用的一些选项操作。