6ARM开发工具的使用_第1页
6ARM开发工具的使用_第2页
6ARM开发工具的使用_第3页
6ARM开发工具的使用_第4页
6ARM开发工具的使用_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六讲 ARM开发工具的使用 124第6讲 目录6.1开发工具的选择开发工具的选择6.2 ADS开发工具简介开发工具简介6.3 ADS的命令行工具的命令行工具6.4 ADS的集成开发环境的集成开发环境6.5 用用ADS开发应用程序开发应用程序6.1开发工具的选择开发工具的选择n开发过程集成开发环境集成开发环境n含有编辑软件、编译软件、汇编软件、链含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的接软件、调试软件、工程管理及函数库的集成开发环境(集成开发环境(IDE,类似,类似VC、Keil C51等)等) 调试方法调试方法 嵌入式调试系统应含调试主机、仿真器和目嵌入式调试

2、系统应含调试主机、仿真器和目标板标板3 3个部分。调试方法一般有如下个部分。调试方法一般有如下4 4种:种:n1 指令集模拟器(软调试)指令集模拟器(软调试)n2 驻留监控软件驻留监控软件n3 JTAG仿真器仿真器n4 在线仿真器(仿真头)在线仿真器(仿真头) 调试方法调试方法 n1 指令集模拟器(软调试)指令集模拟器(软调试) 指令集模拟器可方便用户指令集模拟器可方便用户在在PC机上机上完成一部分简单的完成一部分简单的软件调试工作,它只是将源代码在软件调试工作,它只是将源代码在PC机上的开发环境中机上的开发环境中模拟运行模拟运行,通过集成开发环境提供的寄存器查看、存储器,通过集成开发环境提供

3、的寄存器查看、存储器查看、断点执行、单步执行等功能,能检测用户开发的软查看、断点执行、单步执行等功能,能检测用户开发的软件在语法和功能上是否正确,它无法在电路板上运行。由件在语法和功能上是否正确,它无法在电路板上运行。由于指令集模拟器与真实的硬件环境相差很大,因此即使用于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。应用的开发。调试方法调试方法 n2 驻留监控软件(驻留监控软件(Re

4、sident Monitors:交互式硬:交互式硬件调试)件调试) 驻留监控软件是一段驻留监控软件是一段运行在目标板运行在目标板(用户所开发的硬(用户所开发的硬件电路板)上的程序,集成开发环境中的调试软件通过以件电路板)上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通讯端口与驻留监控软件太网口、并行端口、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。驻留序的执行、读写存储器、读写寄存器、设置断点等。驻留监控软件是一种比较低廉有效的调试方式,不

5、需要任何其监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。他的硬件调试和仿真设备。ARM公司所提供的公司所提供的Angel调试调试软件属于该类工具。它占用目标板上的一部分资源,而且软件属于该类工具。它占用目标板上的一部分资源,而且不能对程序的全速运行进行完全仿真,所以对一些要求严不能对程序的全速运行进行完全仿真,所以对一些要求严格的情况不是很适合。格的情况不是很适合。调试方法调试方法 n3 JTAG仿真器仿真器 JTAG仿真器也称为仿真器也称为JTAG调试器,是通过调试器,是通过ARM芯片的芯片的JTAG边界扫描口进行调试的设备。边界扫描口进行调试的设备。JTAG仿真

6、器在价格上仿真器在价格上比较便宜,与比较便宜,与PC机相连接比较方便,通过现有的机相连接比较方便,通过现有的JTAG边边界扫描口与界扫描口与 ARM CPU 内核通信,属于完全非插入式内核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标板上存储器资源,(即不使用片上资源)调试,它无需目标板上存储器资源,不占用目标系统的任何端口。另外,不占用目标系统的任何端口。另外,由于由于JTAG调试的目调试的目标程序是在目标板上执行标程序是在目标板上执行,仿真更接近于目标硬件,因此,仿真更接近于目标硬件,因此许多接口问题,如程序的实时性限制等被最小化了。许多接口问题,如程序的实时性限制等被最小化了

7、。使用使用集成开发环境配合集成开发环境配合JTAG仿真器进行开发是目前采用最多仿真器进行开发是目前采用最多的一种调试方式的一种调试方式。用户所购买的嵌入式系统开发套件一般。用户所购买的嵌入式系统开发套件一般都附带有都附带有JTAG仿真器。仿真器。基于JTAG的调试方法简易JTAG接口调试方法调试方法 n4 在线仿真器在线仿真器 在线仿真器使用在线仿真器使用仿真头完全取代目标板上的仿真头完全取代目标板上的CPU,可以完全仿真,可以完全仿真ARM芯片的功能,提供更加芯片的功能,提供更加深入的调试功能。但这类仿真器为了能够全速仿深入的调试功能。但这类仿真器为了能够全速仿真时钟速度高于真时钟速度高于1

8、00MHz的处理器,通常必须采的处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。用极其复杂的设计和工艺,因而其价格比较昂贵。在线仿真器通常用在在线仿真器通常用在ARM的硬件开发中,的硬件开发中,在软件在软件的开发中较少使用的开发中较少使用,其,其价格高昂价格高昂也是在线仿真器也是在线仿真器难以普及的因素。难以普及的因素。 集成开发工具简介集成开发工具简介n1 SDT SDT的英文全称是的英文全称是Software Development Kit ,是是ARM公司为方便用户在公司为方便用户在ARM芯片上进行应用软芯片上进行应用软件开发而推出的一整套集成开发工具。件开发而推出的一整套

9、集成开发工具。SDT经过经过ARM公司逐年的维护和更新,目前的最新版本是公司逐年的维护和更新,目前的最新版本是6.5.2,但从版本,但从版本6.5.1开始,开始,ARM公司宣布推出公司宣布推出一套新的集成开发工具一套新的集成开发工具ARM ADS取而代之取而代之,今,今后将不会再看到后将不会再看到ARM SDT的新版本。的新版本。 集成开发工具简介集成开发工具简介n2 ADSn ADS的英文全称为的英文全称为 ARM Developer Suite,是,是ARM公司推出的新一代公司推出的新一代ARM集成开发工具,用来取代集成开发工具,用来取代ARM公公司以前推出的开发工具司以前推出的开发工具S

10、DT,目前,目前ARM ADS的最新版本的最新版本为为1.2。ADS起源于起源于ARM SDT,对一些,对一些SDT的模块进行了的模块进行了增强并替换了一些增强并替换了一些SDT的组成部分,用户可以感受到的最的组成部分,用户可以感受到的最强烈的变化是强烈的变化是ADS使用使用CodeWarrior IDE集成开发环境替集成开发环境替代了代了SDT的的APM,使用,使用AXD替换了替换了ADW,现代集成开发,现代集成开发环境的一些基本特性如源文件编辑器语法高亮度显示,窗环境的一些基本特性如源文件编辑器语法高亮度显示,窗口驻留程序执行等功能在口驻留程序执行等功能在ADS中得以体现。中得以体现。n

11、ADS支持所有支持所有ARM系列处理器包括系列处理器包括ARM9E和和ARM11等,除了等,除了SDT支持的运行操作系统外,还可以在支持的运行操作系统外,还可以在Windows以及以及RedHat Linux上运行。上运行。集成开发工具简介集成开发工具简介n3 Multi 2000 Multi 2000是美国是美国Green Hills软件公司开发的集成开发软件公司开发的集成开发环境,支持环境,支持C/C+/Embedded C+/Ada 95/Fortran编程编程语言的开发和调试,可运行于语言的开发和调试,可运行于Windows平台和平台和Unix平台,平台,并支持各类设备的远程调试。并支

12、持各类设备的远程调试。Multi 2000支持支持Green Hills公司的各类编译器以及其它遵循公司的各类编译器以及其它遵循EABI标准的编译器,同标准的编译器,同时时Multi 2000支持众多流行的支持众多流行的16位、位、32位和位和64位处理器和位处理器和DSP,如,如PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等等,并支持多处理器调试。,并支持多处理器调试。Multi 2000包含完成一个软件工程所需要的所有工具,这些工具可以包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。单独使用,也可集成第三方系统工具。

13、 集成开发工具简介集成开发工具简介n4 Embest IDE Embest IDE英文全称是英文全称是Embest Integrated Development Environment,是,是深圳市英蓓特信息技术深圳市英蓓特信息技术有限公司有限公司推出的一套应用于嵌入式软件开发的新一代集成推出的一套应用于嵌入式软件开发的新一代集成开发环境。开发环境。Embest IDE是一个高度集成的图形界面操作是一个高度集成的图形界面操作环境,包含编辑器、编译器、汇编器、链接器、调试器等环境,包含编辑器、编译器、汇编器、链接器、调试器等工具,其界面同工具,其界面同Microsoft Visual Studi

14、o类似。类似。Embest IDE支持支持ARM、Motorola等等多家公司不同系列的处理器,多家公司不同系列的处理器,对于对于ARM系列处理器,目前支持到系列处理器,目前支持到ARM9系列,包括系列,包括ARM7、ARM5等低系列芯片。等低系列芯片。 Embest IDE运行的主机运行的主机环境为环境为Windows95/98/NT/Me/2000,支持的开发语言包,支持的开发语言包括标准括标准C、Embedded C和汇编语言。和汇编语言。Embest IDE包括包括编辑器、编译器、连接器、调试器、工程管理器等功能模编辑器、编译器、连接器、调试器、工程管理器等功能模块,用户同时可选配块,

15、用户同时可选配Embest JTAG仿真器。仿真器。 集成开发工具简介集成开发工具简介n5 Hitool for ARM Hitool是一种较新的是一种较新的arm嵌入式应用软件开发系统,主嵌入式应用软件开发系统,主要包括要包括hitool/ ARM Debugger、GNU Compiler(内(内建)、建)、JTAG cable、评估板以及嵌入式实时操作系统、评估板以及嵌入式实时操作系统ThreadX等模块。其中编译器模块可以替换成等模块。其中编译器模块可以替换成ARM ADS Compiler或或ARM SDT Compiler。 集成开发工具简介集成开发工具简介n6 JEENI仿真器仿

16、真器 JEENI仿真器是美国仿真器是美国EPI公司生产的公司生产的专门用于调试专门用于调试ARM7系列的开发工具。它与系列的开发工具。它与PC之间通过以太网口或串口连接,之间通过以太网口或串口连接,与与ARM7目标板之间通过目标板之间通过JTAG口连接。该仿真器使用独口连接。该仿真器使用独立电源。立电源。JEENI仿真器支持仿真器支持ARM/THUMB指令,支持汇编指令,支持汇编/高级语言调试。高级语言调试。 集成开发工具简介集成开发工具简介n7 Multi-ICE Multi-ICE是是ARM公司自己的公司自己的JTAG在线仿真器,目前在线仿真器,目前的最新版本是的最新版本是6.1版。版。M

17、ulti-ICE的的JTAG链时钟可以设置链时钟可以设置为为5 kHz到到10 MHz,实现,实现JTAG操作的一些简单逻辑由操作的一些简单逻辑由FPGA实现,使得并行口的通信量最小,以提高系统的性实现,使得并行口的通信量最小,以提高系统的性能。能。Multi-ICE硬件支持低至硬件支持低至1V的电压。的电压。Multi-ICE 6.1还还可以外部供电,不需要消耗目标系统的电源,这对调试类可以外部供电,不需要消耗目标系统的电源,这对调试类似手机等便携式、电池供电设备是很重要的。似手机等便携式、电池供电设备是很重要的。Multi-ICE 6.x支持该公司的实时调试工具支持该公司的实时调试工具Mu

18、ltiTrace,MultiTrace包含一个处理器,因此可以跟踪触发点前后的轨迹,并且包含一个处理器,因此可以跟踪触发点前后的轨迹,并且可以在不终止后台任务的同时对前台任务进行调试,在微可以在不终止后台任务的同时对前台任务进行调试,在微处理器运行时改变存储器的内容,所有这些特性使延时降处理器运行时改变存储器的内容,所有这些特性使延时降到最低。到最低。 Multi-ICE 6.x支持支持ARM7、ARM9、ARM9E、ARM 10和和Intel Xscale微结构系列。微结构系列。 第6讲 目录6.1开发工具的选择开发工具的选择6.2 ADS开发工具简介开发工具简介6.3 ADS的命令行工具的

19、命令行工具6.4 ADS的集成开发环境的集成开发环境6.5 用用ADS开发应用程序开发应用程序6.2 ADS开发工具简介开发工具简介n ARM ADS的英文全称为 ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具,用来取代ARM公司以前推出的开发工具ARM SDT,目前ARM ADS的最新版本为1.2,它取代了早期的ADS1.1和ADS1.0。ADS1.2除了可以安装在Windows NT4,Windows 2000,Windows 98和Windows 95操作系统下,还支持Windows XP和Windows Me操作系统。6.2 ADS开发工具简介开发工

20、具简介名称名称描述描述功能功能代码生成工具代码生成工具ARM 汇编器,汇编器,ARM 的的C、C+编译器,编译器,Thumb 的的C、C+编译器,编译器,ARM 连接器连接器由由CodeWarrior IDE 调用把调用把C语言语言或汇编语言编写的源代码编译成目或汇编语言编写的源代码编译成目标文件、然后链接成一个可执行的标文件、然后链接成一个可执行的(或可调试运行的)文件(或可调试运行的)文件集成开发环境集成开发环境CodeWarrior IDE 工程管理工程管理源代码编辑(输入、修改)、编译、源代码编辑(输入、修改)、编译、链接链接指令模拟器指令模拟器ARMulator由由AXD 调用,对源

21、代码进行纯软件调用,对源代码进行纯软件的调试(语法和非实时功能上)的调试(语法和非实时功能上)调试器调试器由由AXD、ADW/ADU和和armsd等组成等组成由由CodeWarriorIDE调用,进行在线调用,进行在线硬件、软件的仿真调试硬件、软件的仿真调试ARM 开发包开发包一些底层的例程和实用程序一些底层的例程和实用程序(如(如fromELF)由由CodeWarriorIDE 调用,用户可调用,用户可参考这些例子和源代码,以方便在参考这些例子和源代码,以方便在此基础上进行开发此基础上进行开发ARM 应用库应用库C、C+函数库以及一些头文函数库以及一些头文件等件等在用户的程序中使用在用户的程

22、序中使用6.2 ADS开发工具简介开发工具简介第6讲 目录6.1开发工具的选择开发工具的选择6.2 ADS开发工具简介开发工具简介6.3 ADS的命令行工具的命令行工具6.4 ADS的集成开发环境的集成开发环境6.5 用用ADS开发应用程序开发应用程序6.3 命令行工具介绍命令行工具介绍 所谓命令行工具,就是所谓命令行工具,就是ADS提供的提供的DOS操作系统下运行操作系统下运行的软件,的软件,ADS集成开发环境中所有的汇编、编译、链接以及集成开发环境中所有的汇编、编译、链接以及调试等功能,都可以通过这些命令行工具在调试等功能,都可以通过这些命令行工具在DOS环境下实现,环境下实现,而不必在而

23、不必在ADS集成开发环境中的菜单、工具栏、对话框等方集成开发环境中的菜单、工具栏、对话框等方式下实现。式下实现。 ADS12提供了提供了armcc、armcpp、tcc、tcpp、armasm、armlink和和armsd等命令行开发工具,在安装完成后,这些命等命令行开发工具,在安装完成后,这些命令行工具位于安装文件夹的令行工具位于安装文件夹的Bin子目录下。子目录下。 6.3 命令行工具介绍命令行工具介绍第6讲 目录6.1开发工具的选择开发工具的选择6.2 ADS开发工具简介开发工具简介6.3 ADS的命令行工具的命令行工具6.4 ADS的集成开发环境的集成开发环境6.5 用用ADS开发应用

24、程序开发应用程序6.4.1 新建一个工程新建一个工程 ARM Executable Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映象文件 项目项目Led.mcp中,在中,在Initial文件夹下是一些文件夹下是一些44B0的初始化文件,其中的初始化文件,其中44binit.s是一个是一个ARM7类型的汇编语言源代码文件,在这里程序对外围进行初类型的汇编语言源代码文件,在这里程序对外围进行初始化,定义了始化,定义了44B0芯片的一部分寄存器地址、芯片的一部分寄存器地址、44B0的工作模式、内存配置、的工作模式、内存配置、初始化各种异常向量(包括了初始化各种异常向量(包括了IR

25、Q和和FIQ中断向量)和堆栈以及一些中断向量)和堆栈以及一些C语言的语言的变量,并提供系统上电、复位及异常处理的入口点。变量,并提供系统上电、复位及异常处理的入口点。44B0芯片可外接芯片可外接8个个Bank的存储器(的存储器(ROM和和RAM),),Memcfg.s源代码文件对外部存储空间进行源代码文件对外部存储空间进行配置。配置。OPTION.S 汇编语言源代码文件对定义了一些宏,包括汇编语言源代码文件对定义了一些宏,包括RAM的起始地的起始地址,中断入口表地址、址,中断入口表地址、RAM类型、系统主频、类型、系统主频、PLL控制字等。控制字等。44BLIB_A.S汇汇编语言源代码文件中定

26、义了一个编语言源代码文件中定义了一个ChangeMemCon函数(虽然没有使用)。函数(虽然没有使用)。44blib.c是一个是一个C语言源代码文件,里面定义了其他各个文件所要调用的函数,语言源代码文件,里面定义了其他各个文件所要调用的函数,如延时、如延时、I/O初始化、串口初始化、输入输出、初始化、串口初始化、输入输出、PLL设置、波特率设置等的函设置、波特率设置等的函数,该文件由用户自行编写。数,该文件由用户自行编写。Bspinit.c是用户自己编写的一个是用户自己编写的一个C语言文件,里语言文件,里面用面用Bsp_Init函数封装了项目所有初始化需要调用的函数,这样在函数封装了项目所有初

27、始化需要调用的函数,这样在Main函数函数中只需要调用中只需要调用Bsp_Init函数即进行了所有的初始化。一些头文件,如函数即进行了所有的初始化。一些头文件,如44B.H文文件中定义了件中定义了44B0芯片的寄存器地址宏定义,芯片的寄存器地址宏定义,OPTION.h文件中定义了文件中定义了C程序使程序使用的一些反映系统工作方式的基本宏定义,用的一些反映系统工作方式的基本宏定义,Def.h文件中定义了一些数据类型文件中定义了一些数据类型的缩写。在进行的缩写。在进行44B0的项目的时候,最重要的是包含的项目的时候,最重要的是包含44binit.S与与44blib_a.S这两个文件,如果需要串口输

28、出等辅助功能,就包含进这两个文件,如果需要串口输出等辅助功能,就包含进44blib.c文件,然后再文件,然后再加入自己的文件。加入自己的文件。44binit.S、44blib_a.S这些启动文件都由三星公司提供,这些启动文件都由三星公司提供,建议用户不要进行修改。建议用户不要进行修改。 另外,在另外,在Initial文件夹下存在的一些头文件如文件夹下存在的一些头文件如44b.h、44blib.h、def.h和和option.h等,等,对基于对基于S3C44B0微处理器微处理器的嵌入式系统而言,这些头文件都基本是一样的,用户可的嵌入式系统而言,这些头文件都基本是一样的,用户可以直接从别的项目拷贝

29、过来使用。以直接从别的项目拷贝过来使用。 查看函数查看函数Bsp_Init()里面的代码()里面的代码 6.4.2 工程设置工程设置在在Post-linker子项中选择子项中选择ARM fromELF,使得工程在链接后可以直接调用,使得工程在链接后可以直接调用fromELF产产生以生以.bin结尾的可执行的二进制代码文件(结尾的可执行的二进制代码文件(这步非常重要这步非常重要) Language Settings 里选择对应处理器内核型号。默认是里选择对应处理器内核型号。默认是ARM7内核。内核。内存起始地址注意在调试时,注意在调试时,RO-Base的设置应当大于的设置应当大于0 xc0000

30、00Object/symbol项中,填入项中,填入44binit.o(44binit.s汇编语言源代码文件编译后的目标汇编语言源代码文件编译后的目标文件),文件),在在Section项中填入项中填入Init,表示当程序开始执行时,从,表示当程序开始执行时,从44binit文件的文件的Init段段开始执行开始执行 6.4.3 工程编译工程编译6.4.4 工程调试工程调试1 纯软件调试纯软件调试 2 带目标板调试带目标板调试 系统上电后系统上电后BootLoader开始运行,通过开始运行,通过PC上的串口超级终端可以看到:上的串口超级终端可以看到:在提示符下输入在提示符下输入help,可以显示,可

31、以显示BootLoader所支持的命令所支持的命令将项目工程编译(将项目工程编译(MAKE)后,按照如下的步骤将产生的以)后,按照如下的步骤将产生的以.bin结尾的目标文件结尾的目标文件通过串口传输到目标板:通过串口传输到目标板:(1)在提示符下输入loadb 0 x0C000000,显示Ready for binary (kermit) download to 0 x0C000000 at 115200 bps.即为准备好通过串口下载程序(2)点击超级终端的菜单“传送传送-发送文件发送文件”,选择前面编写并编译生成的二进制文件,同时协议选择Kermit点击发送发送完成后超级终端会显示发送完成后超级终端会显示# Total Size = 0 x0000686c = 6732 Bytes# Total Size = 0 x0000686c = 6732 Bytes# Start Addr = 0 x0C000000# Start Addr = 0 x0C000000此即为完成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论