9嵌入式系统设计与开发.ppt_第1页
9嵌入式系统设计与开发.ppt_第2页
9嵌入式系统设计与开发.ppt_第3页
9嵌入式系统设计与开发.ppt_第4页
9嵌入式系统设计与开发.ppt_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统设计与开发第9章ARM嵌入式开发工具,本章总结,9.1 ARM下位机开发工具9.2 ARM开发工具概述9.3 ARM的ads9.4嵌入式ide介绍,9.1 ARM下位机开发工具,由于程序的编译环境和运行环境不同,ARM嵌入式开发采用交叉编译的方法。首先,在通用计算机上编写、编译、汇编和连接源程序,形成可在目标系统上运行的目标文件;然后,将目标文件下载到目标系统,通过连接/调试设备运行;目标系统上源程序的运行情况通过计算机中的连接设备反映出来,开发人员根据开发项目的需要通过反映出来的情况做出相应的修改,并重复上述操作,直到达到项目开发的预期效果。因此,ARM嵌入式开发工具可以分为上层安

2、装在计算机中的开发工具、中间的连接设备和下层支持ARM芯片嵌入式开发的工具。ARM嵌入式系统实时开发组织结构图9.1.1 JTAG接口JTAG接口标准是联合测试行动小组于1986-1988年提出的基于边界扫描机制的标准化草案。1990年,IEEE对这些草案进行了标准化,并将其命名为IEEE 1149.1标准,通常称为JTAG调试标准。JTAG不仅可以实现通常意义上的调试功能,还可以实现代码下载或单步执行程序的功能。边界扫描机制的主要思想是在内部逻辑之间,即在内部逻辑的边界上增加串行读写边界扫描单元,从而在芯片级、板级和系统级提供一个标准的测试框架。边界扫描机制可以实现以下目标:测试不同单元之间

3、的连接。测试单个单元的功能。边界扫描寄存器用于完成其它测试功能,如伪随机测试、特征分析和静态测试。JTAG接口的6个主要信号:1)测试时钟输入。TCK为TAP的操作提供一个独立的基本时钟信号,并且TAP的所有操作都由这个时钟信号驱动。TCK在IEEE 1149.1标准中是强制性的。2)测试模式选择输入。TMS信号用于控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同状态之间切换。TMS信号在TCK的上升沿有效。在IEEE 1149.1标准中,电信管理系统是强制性的。3)测试数据输入。TDI是数据输入接口。所有要输入特定寄存器的数据都是通过TDI接口(由TCK驱动)逐位串行输入的。在I

4、EEE 1149.1标准中,TDI是强制性的。4)测试数据输出(TDO)。TDO是数据输出的接口。通过TDO接口(由TCK驱动),从特定边界扫描链中采样的寄存器中存储的所有数据被逐位串行输出;当芯片被串行测试时,数据被传输到下一个芯片。在IEEE 1149.1标准中,TDO是强制性的。5)测试复位输入(TRST/中央测试)。TRST可以用来重置(初始化)TAP控制器,即JTAG重置。该信号接口在IEEE 1149.1标准中是可选的,因为TAP控制器也可以由电信管理系统复位/初始化。为了防止误触发,应在该端子上安装一个上拉电阻。6)系统重置(第一次/SRST)。连接到目标板上的系统复位信号。它可

5、以直接复位目标系统,并检测目标系统的复位情况。该信号接口是可选的,在IEEE 1149.1标准中不是强制性的。20针JTAG接口信号、20针JTAG接口连接、9.1.2 JTAG TAP、JTAG测试接入端口JTAG TAP为通用端口,是外部JTAG接口连接芯片的通道,由JTAG TAP控制器和扫描链组成。芯片提供的所有数据寄存器和指令寄存器都可以通过TAP访问。整个TAP由TAP控制器控制。TAP有五个接口信号:TCK、TMS、TDI、TDO和TRST,提供给JTAG接口。扫描链是通过在靠近芯片的输入/输出管脚上增加用于观察和控制芯片的输入/输出信号的移位寄存器单元而形成的,这些管脚相互连接

6、。也就是说,围绕芯片/内部逻辑形成边界扫描链。如果需要捕获芯片某个引脚上的输出,需要先将该引脚上的输出载入边界扫描链的寄存器单元,然后通过TDO输出获得相应引脚的输出信号。如果特定信号将被加载到芯片的某个引脚上,则所需信号首先被移位到通过TDI连接到相应引脚的边界扫描链的寄存器单元,然后寄存器单元的值被加载到相应的芯片引脚。在IEEE 1149.1标准中,寄存器分为两类:数据寄存器DR和指令寄存器IR。边界扫描链是一种数据寄存器,用于观察和控制芯片的输入/输出,而指令寄存器用于控制数据寄存器。例如,从芯片提供的所有边界扫描链中选择指定的边界扫描链作为当前目标扫描链,并将其作为访问对象,由相应的

7、指令寄存器完成。通过TAP接口访问数据寄存器的一般过程如下:1)通过指令寄存器选择要访问的数据寄存器。2)将选定的数据寄存器连接到TDI和TDO之间。3)在TCK的驱动下,所需数据通过TDI输入到所选数据寄存器,通过TDO读出所选数据寄存器中的数据。JTAG TAP控制器状态转移图,指令寄存器和数据寄存器工作过程:1)系统上电后,TAP控制器进入TMS信号驱动的测试-逻辑复位状态。然后依次进入运行-测试/空闲选择-灾难恢复-扫描选择-红外扫描捕获-红外移位-红外存在1-红外暂停-红外存在2-红外更新-红外,最后返回运行-测试/空闲状态。在捕获-红外状态下,特定指令被载入指令寄存器并进入移位-红

8、外状态。在移位寄存器状态下,可以通过驱动TCK将指令发送到指令寄存器。每条指令将决定一个相应的数据寄存器。然后,它可以沿着移位-退出1-红外暂停-退出2-红外更新-红外的路径执行,或者它可以沿着其他路径到达更新-红外状态。在更新-红外状态下,刚刚进入指令寄存器的指令将作为当前指令更新指令寄存器。最后,进入运行测试/空闲状态,指令生效,完成对指令寄存器的访问。2)对当前数据寄存器的访问由指令寄存器中的当前指令决定。要访问指令选择的数据寄存器,应以运行测试/空闲为起点,由TMS信号驱动,然后进入选择-dr-scan capture-dr shift-dre xit 1-dr pause-dre x

9、it 2-drup date-dr,最后返回运行测试/空闲状态。在此过程中,当前指令选择的数据寄存器将连接在TDI和TDO之间。利用TDI和TDO,可以将新数据载入数据寄存器,也可以捕获数据寄存器中的数据。目前,常用的微内核ARM7和ARM9都提供了四个扫描链:1)扫描链0测试链2)扫描链1调试链3)扫描链2编程链4)扫描链3外围测试链,ARM9TDMI边界扫描链1的另外两个信号DDEN和SYSSPEED的功能如下:DDEN在ARM9TDMI内部测试模式下可用且可测试。在ARM9TDMI外部测试模式下,低电平表示将获取数据总线上的数据输入,高电平表示将输出扫描链上存储的数据。当ARM9TDMI

10、进入调试状态时,将输出SYSSPEED。低级别表示微内核现在处于断点调试,高级别表示微内核处于观察点调试状态。9.1.3嵌入式ICE嵌入式在线模拟器是系统中的核心调试功能,主要由四部分组成:一套ARM内核中的调试扩展。嵌入式ICE宏。嵌入式ICE宏接口。基于JTAG接口的主机与内核通信通道调试。嵌入式集成电路寄存器和调试控制寄存器用于控制嵌入式集成电路。六位对应六种控制信号,从低到高依次为DBGACK、DBGRQ、INTDIS、SBZ/RAZ、监控模式使能和嵌入式ICE。DBGRQ调试请求信号,通过将该信号置1,可以强制ARM7TDMI/ARM9TDMI暂停当前指令,进入调试状态;INTDIS

11、用于控制中断;SBZ/RAZ在任何时候都必须设置为0;监控模式启用用于控制是否进入监控模式。嵌入式ICE-RT Disable用于控制整个嵌入式ICE-RT是启用还是禁用。如果禁用,ARM7TDMI/ARM9TDMI将始终处于正常运行状态。您可以通过调试状态寄存器查询当前系统状态。调试状态寄存器是可读和可写的,但通常是只读的。5位信号由低到高依次为:DBGACK、DBGRQ、IFEN、CGENL和TBIT,DBGACK表示当前系统是否处于调试状态,置1表示处于调试状态;DBGRQ标识DBGRQ信号的当前状态;生命之光标识系统的中断状态是启用还是禁用;CGENL识别在调试状态下对存储器的访问是否

12、完成;TBIT用来判断是从ARM模式还是Thumb模式进入调试状态。中止状态寄存器用于确定异常的原因:断点、观察点或实际异常。调试通信控制寄存器和调试通信数据寄存器用于控制和操作调试通信通道。其他寄存器都是关于观察点的,用来设置断点和观察点。其余12个寄存器可表示如下:观察点0/1地址值/屏蔽寄存器。观察点0/1数据值/屏蔽寄存器。观察点0/1控制值/屏蔽寄存器。9.1.4 ETM嵌入式跟踪宏,ETM可以捕获指令和数据序列,访问并将它们的记录发送到片内或片外缓冲区,ARM的ETM可以设置为允许触发器工作和跟踪结果被过滤掉。使用ETM的过滤功能,您只能捕获特殊中断或特殊文件的代码执行,这相当于提

13、供了压缩代码的功能。ETM由以下两部分组成:跟踪端口,用于实时跟踪。执行代码时,中央处理器向ETM发送串行、编码和压缩的分支目标地址、管道状态和读写数据。触发装置,规格已制定。该规范允许指定特定应用所需的触发源的确切集合。资源包括地址和数据比较器、计数器和定序器。9.2 ARM开发工具概述,9.2.1 JTAG仿真器JTAG仿真器,又称JTAG调试器,是通过ARM芯片的JTAG边界扫描端口进行调试的设备。JTAG仿真器连接方便,通过现有的JTAG边界扫描端口与ARM CPU内核通信,属于完全非插件式调试(即不使用片上资源)。它不需要目标内存,也不占用目标系统的任何端口,这些端口是常驻监控软件所

14、必需的。此外,由于JTAG调试的目标程序是在目标板上执行的,并且仿真更接近目标硬件,所以许多接口问题,例如高频操作限制、交流和DC参数之间的不匹配以及导线长度的限制被最小化。利用集成开发环境和JTAG模拟器进行开发是目前应用最广泛的调试方法之一。JTAG仿真器通过ARM处理器的JTAG调试接口与目标计算机通信,并通过并口或串口、网络口和USB口与主机通信。JTAG公式可用于读取/写入中央处理器寄存器以及访问和控制ARM处理器内核。系统中的读/写内存、访问内存和系统端口。访问ASI C系统。访问输入/输出系统。控制程序运行、停止、单步和实时执行,并设置程序断点。重置目标系统,并将代码下载到目标A

15、RM。根据指令地址值和数据值实时设置断点。目前,这种类型的模拟器在中国最常用的有:1 arm的嵌入式电力冰,arm的电力冰,这是一个由伊梅尔特公司开发的实时在线模拟器。2实时取景洲际交易所实时取景洲际交易所是ARM公司的最新模拟器。Trace32-ICD trace32-ICD是德国劳特巴赫公司开发的模拟工具,基于调试接口,如BDM、JTAG和OCDS。在线仿真器是一种模拟中央处理器的设备。在线模拟器使用模拟头完全取代目标板上的中央处理器,可以完全模拟ARM芯片的行为,提供更深入的调试功能。在与主机相连的接口上,在线模拟器还通过串口或并口、网络端口和USB端口进行通信。为了全速模拟高时钟速度的ARM处理器,在线模拟器通常需要采用极其复杂的设计和过程,因此成本很高。在线模拟器通常用于ARM硬件开发,但很少用于软件开发。9.2.3集成开发环境带来的仿真软件以嵌入式系统为例。编译目标系统上运行的文件后,在“项目设置”对话框的“远程”选项卡上,选择“远程设备”下拉列表框中的“SimArm7”选项,可以在集成开发环境中以软件的形式进行模拟。9.2.4 Multi 2000集成开发环境Multi 2000是美国格林希尔软件公司开发的集成开发环境,支持C/C /Embedded C /Ada 95/For

温馨提示

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

评论

0/150

提交评论