当前位置:文档之家› ARM仿真器用户手册

ARM仿真器用户手册

ARM仿真器用户手册
ARM仿真器用户手册

techor ICE? ARM仿真器用户手册

(Version 2.0)

深圳技创科技有限公司

TECHNIQUE INNOVATOR INC.

https://www.doczj.com/doc/3610512598.html,

-? 2003,2004 https://www.doczj.com/doc/3610512598.html,-

第一章概述 (3)

1.1 系统配置要求 (3)

1.2 设备连接 (4)

1.3 电源的使用 (4)

1.4 techor ICE?的优点 (4)

1.5 内核支持 (5)

第二章JTAG口介绍 (6)

2.1 接口连接 (6)

2.2 接口电平 (7)

2.3 TCK信号频率设置 (8)

2.4 目标系统设计指南 (9)

2.5 RTCK时钟 (10)

2.6 JTAG连接转换座 (10)

第三章techorICE?介绍 (12)

3.1 系统功能层次划分 (12)

3.2 软件架构 (12)

3.3 远程调试功能 (13)

3.4 Server配置 (14)

3.4.1自动配置 (14)

3.4.2手动配置 (14)

3.4.3 IR长度文件 (15)

3.4.4配置过程 (16)

3.5 多内核目标系统 (16)

3.6 系统组成结构 (18)

第四章Server program使用指南 (20)

4.1 启动Server program (20)

4.2Server program菜单介绍 (21)

4.2.1工具栏 (21)

4.2.2文件菜单 (22)

4.2.3视图菜单 (22)

4.2.4控制菜单 (23)

4.2.5连接菜单 (24)

4.2.6设置菜单 (24)

4.3Server状态指示 (24)

4.3.1配置后的状态 (25)

4.3.2连接后的状态 (26)

4.3.3激活时的状态 (27)

4.4并口设置 (28)

4.5时钟设置 (28)

4.6运行控制 (29)

4.6.1指定各个设备之间的交互方式 (29)

4.6.2设置轮询频率 (31)

4.7启动选项设置 (32)

附录一 TCK频率与设置值转换表 (34)

附录二TCK设置值与频率转换表 (37)

附录三常见问题 (40)

第一章概述

本章简单介绍techor ICE? ARM仿真器的一些基本概念。

系统配置要求

设备连接

电源的使用

techor ICE?的优点

内核支持

1.1 系统配置要求

支持的主机端操作系统:

z Windows 95

z Windows 98

z Windows NT

z Windows ME

z Windows 2000

z Windows XP

PC硬件要求:

z奔腾233MHz以上CPU

z64MB以上内存

z200MB以上的硬盘空间

z并行端口

注意:并口需要在计算机的CMOS中设置好正确的类型后才能正常工作,关于并口设置的相关说明可以参见4.4。

如果使用远程调试功能,计算机还需配置:

网卡和相应的驱动程序

TCP/IP协议

1.2 设备连接

图1-1 techor ICE?外观

techor ICE?使用标准的25针并口插座与PC机的LPT口相连,到目标板的JTAG接口采用20针IDC宽带线(BT224型)插座。有的目标板可能使用ARM旧标准的14针JTAG插座,则中间需要一个转换座,2.6专门介绍转换座的使用。

1.3 电源的使用

techorICE?采用专用的5V(内正外负)500mA稳压电源供电,这样做的好处是能最大限度地降低目标板与techorICE?之间的相互干预。JTAG接口数字信号的逻辑电平会随着目标板电源电压的变化而改变。 techorICE?在工作时的一般功耗在0.7W左右。最大电流不超过300mA。为了防止异常的电源波动,V2.0版本的techorICE仿真器内部设计了相应的保护电路。

1.4 techor ICE?的优点

国内首创的高档内电路:采用高档FPGA+MCU+CPLD方式,逻辑元件与微控器协同工作,故能达到极高的下载速度(120KBytes~200KBytes)和单步执行能力(每秒钟可以单步80次)

无限次的Firmware升级能力,通过刷新Firmware(Firmware程序提供免费下载)可以支持ARM的未来核心

开放的接口,支持多内核系统,允许调试非ARM核心及DSP核心

连接简便,兼容大范围使用电压的目标设备(可以支持低至1.2V的核心电压并在1.2V 到5V间自动适应)

除JTAG扫描链以外,不占用目标板上的其他任何资源

可编程的JTAG位传送速率(可以设置为5KHz~10MHz),以满足不同调试对象的

要求

完整实现ARM RDI 1.5和RDI 1.51标准,与ARM Multi-ICE?兼容,支持ARM SDT/ADS/RDS及其他遵从RDI接口标准的调试器,techorICE 支持集成开发调试环境

有:

9ARM SDT, ADS,RDS

9EPI EDB

9Green Hills MULTI-2000

9Intel XScale software toolkit

9Mentor Graphics XRAY debugger

9IAR EWARM

9WinCE Platform Builder

9特别支持GNU GDB Debugger调试嵌入式Linux(MontaVista/BlueCat/eCos/中科红旗嵌入式Linux/uClinux/SnapGear)

采用ARM集成开发调试环境和techorICE?的配置,支持源代码级调试,ARM THUMB 指令混合编译,支持C、C++、汇编语言的交叉调用,支持ROM断点,多个RAM断

点,条件断点,单步执行,随程序同步更新并可即时修改变量、寄存器、内存值。最

多可以支持2个硬件断点,硬件断点可以设置成断点(breakpoint)或者观测点

(watchpoint)

高速通信的调试功能,高达12Mbps,方便快速下载目标程序和调试程序;支持Flash 在线快速烧写功能(通过自编的脚本文件),可省去通用编程器烧写Flash的麻烦 techorICE?使用标准的25芯并口插座和20针的JTAG插座作为接口,并且提供 14针JTAG转20针JTAG的转换座;特设外部稳压电源供电,正常电压范围4.5V到 5.5V 采用JTAG口的菊花链级联方式,支持同一ASIC内多个不同类型的ARM核

techorICE?支持所有ARM内核( ARM7,ARM9,ARM10 )和XScale内核的处理器,包括:Samsung、ATEMEL、Intel、Cirrus Logic、Sharp、Philips、OKI、Motorola、

Infineon、NEC、Qualcomm、LSI Logic、Altera、Linkup、Hynix、Winbond、Triscend、

Marvell、ZTEIC ZCP320A等等具有ARM内核的通用微处理器和ASIC等 支持多种操作系统:Windows95/98/NT/ME/2000/XP及Linux

对ARM有丰富应用经验的工程师提供全方位的技术支持和软硬件参考设计,资深ARM系统设计师与您交流,使您事半功倍!

体积轻巧,性能稳定

1.5 内核支持

当前版本(version 2.0)的techorICE?支持如下所有版本的ARM内核:

ARM7全系列:ARM7TDMI /ARM7TDMI-S /ARM7EJ-S /ARM7TDI-S /ARM720T /ARM740T /SecurCore系列(SC100/SC110/SC200/SC210)

ARM9全系列:ARM9TDMI /ARM9E-S /ARM9EJ-S /ARM920T /ARM922T /ARM925T /ARM940T /ARM926EJ-S /ARM946E-S /ARM966E-S

ARM10全系列:ARM1020T / ARM1020E /ARM10200 /ARM10200E /ARM10220E /ARM1022E

Intel? XScale 微架构系列:

IOP321 PXA210 PXA250 PXA255 IXP425 80200 80321 IR7

所有使用上述一个或多个内核的ASIC和目标系统,都能使用techor ICE?来进行调试工作。

第二章JTAG口介绍

这一章主要介绍跟techorICE?相关的JTAG接口知识。具体的JTAG标准和协议,可以查阅IEEE 1149.1协议。

接口连接

接口电平

TCK信号频率设置

目标系统设计指南

RTCK时钟

JTAG接口转换座

2.1 接口连接

这部分主要讲述JTAG口的信号功能及应用说明。下图是JTAG接口的信号排列示意图:

图2-1 JTAG口的信号排列图

接口是一个20脚的IDC插座。下表给出了具体的信号说明:

引脚信号名相对仿

真器的

信号方

信号描述

1 VTref 输入接口电平参考电压,通常可直接接电源

2 Vsupply 输入电源

3 nTRST 输出 Target

JTAG口复位-在目标端应当做上拉处理以防误复位

4 GND -- 地

5 TDI 输出 Test

Data

In-从仿真器输出到目标板,目标板端应当做上拉或者

下拉处理

6 GND -- 地

7 TMS 输出Test Mode Signal-目标板端应当做上拉处理

8 GND -- 地

9 TCK 输出 Test

Clock-目标板端应当做上拉或者下拉处理

10 GND -- 地

11 RTCK 输入 Return

Test

Clock-由目标端反馈给仿真器的时钟信号,用来同

步TCK信号的产生。不使用时可以直接接地

12 GND -- 地

13 TDO 输入Test Data Out-

14 GND -- 地

15 nSRST 输出/

输入Target System Reset-与目标板上的系统复位信号相连。可以直接对目标系统复位,同时可以检测目标系统的复位情况。为了防止误触发,目标板端应当做上拉处理

16 GND -- 地

17 DBGRQ -- 调试ARM内核时不使用

18 GND -- 地

19 DBGACK-- 调试ARM内核时不使用

20 GND -- 地

表2-1 JTAG引脚说明

2.2 接口电平

techorICE?推荐的正常使用电压为2.5 – 5.0V,最大不超过2.0 – 5.5V。随着电源电压的变化,接口的逻辑高电平和判决门限电平都将随之变化,这使得techorICE?能够与不同电压的目标系统在逻辑上兼容。下面一张图显示了这种变化关系:

图2-2接口逻辑电平变化关系

V oh是指techorICE?的输出逻辑高电平。

V i (th) 是输入信号的逻辑判决门限电平。

这两者之间存在下述关系:

Vi (th) = 1/2(Voh)

2.3 TCK信号频率设置

为了与不同速率的目标对象相兼容,JTAG口的通信速率应调整到一个合适的水平。数据传输速率是由TCK信号的频率来决定的,有两种方法可以调节TCK信号的频率。

(1) 在Server program中手动设置

打开菜单设置->JTAG设置,在对应的栏中填入要求的数值。在第四章中介绍了详细的设置方法。

(2) 在配置文件中定义

在配置文件中增加如下几行内容:

[Timing]

Low = 9 ;设置TCK信号的高电平时间

High = 9 ;设置TCK信号的低电平时间

用户通过调用配置文件来达到设置参数的目的。TCK信号的真实频率跟设置值之间的对应关系在附录1中给出,有关配置文件的写法请参见3.4。

2.4 目标系统设计指南

目标板使用与techorICE?一样的20脚针座,信号排列见表2-1。RTCK和nTRST这两个信号根据目标ASIC有否提供对应的引脚来选用。nSRST则根据目标系统的设计考虑来选择使用。下面是一个典型的连接关系图:

图2-3典型JTAG连接图

复位电路中可以根据不同的需要包含上电复位、手动复位等等功能。如果用户希望系统复位信号nSRST能同时触发JTAG口的复位信号nTRST,则可以使用一些简单的组合逻辑电路来达到要求。后面给出了一种电路方案的效果图。

图2-4一个复位电路结构的例子

在目标系统的PCB设计中,最好把JTAG接口放置得离目标ASIC近一些,如果这两者之间的连线过长,会影响JTAG口的通信速率。

2.5 RTCK时钟

RTCK信号用来同步techorICE?和目标之间的通信,而不用关心TCK信号的具体频率。在没有收到目标系统的反馈时钟信号之前,techorICE?不会触发一个新的TCK。有两种方法可以激活这个功能。一种是在Server program的设置->JTAG设置菜单中选中Adaptive选项;另一种方法是在配置文件的timing部分中加入相应设置指语句,如下所示:

……

[timing]

High = 9

Low = 9 ;设置TCK时钟频率

Adaptive = ON ;激活RTCK功能

;合法的选项有ON和OFF

如果不使用RTCK功能,这个信号脚可以简单的接地处理;

如果使用了RTCK功能,把这个脚直接连向ASIC中对应的管腿;

如果激活了RTCK功能,但ASIC并没有提供对应的管腿,可以把RTCK和TCK这两个信号连在一起。但是在连接中最好能遵循下面的一个原则:

注意:连接线应尽量地靠近目标ASIC目标板

图2-5 RTCK的连接图

这一点在连线比较长的时候尤其重要。目的是确保在TCK时钟到达目标点的时候才产生反馈信号。

2.6 JTAG连接转换座

techorICE?使用工业标准的20脚JTAG插头,但是有些老的系统采用一种老ARM标准的14脚的插座。这两类接口的信号排列如下:

图2-6新旧两种ARM JTAG接口标准

这两类接口之间的信号电气特性都是一样的,因此可以把对应的信号直接连起来进行转接。techorICE?全系列产品配备这种转接卡。

第三章techorICE?介绍

本章具体介绍了techorICE?的相关概念。包括对整体调试体系的介绍。

系统功能层次划分

软件架构

远程调试功能

Server配置

多内核目标系统

系统组成结构

3.1 系统功能层次划分

一个完整的调试系统应该包含如下各个功能层次,采用客户/服务器模型:

Target Device

图3-1调试系统层次划分

Server program在连有techorICE?硬件的计算机上运行(该计算机也就相应称之为Server PC)。服务器端具体地驱动硬件及协调各目标系统间的通信。客户端的调试程序把整个服务器看成是一个虚拟的处理器。

3.2 软件架构

在客户/服务器模型中,服务器把所有硬件封装起来,给客户端只提供了一个虚拟的处理器接口。客户端的调试工具软件通过一个动态链接库连向服务器,所以服务器一侧的硬件和客户端的调

试工具软件是相互独立的,在同一个动态链接库的基础上,双方可以各自进行升级或替换。一个具体的调试程序应该能够支持许多不同的链接库,不同的链接库提供了不同的功能调用。以SDT工具包为例,ARMulate.dll提供了一个软ARM内核,用作程序的逻辑验证。若要把Server program连起来进行实时仿真,则只要把techorICE.dll调进去就可以了,该动态库在Server program的安装目录下可以找到。

图3-2软件架构

如果使用远程调试功能,网络必须提供TCP/IP服务,由Windows操作系统调度数据包的传输。Server program通过一个RPC(Remote Procedure Call:远程队列调用)接口与网络相连接。

3.3 远程调试功能

客户端可以通过网络访问服务器。为了正确调用计算机的网络端口,在服务端需要运行一个端口映射程序,这个名为portmap.exe的程序在Server program的安装目录下面。当前版本的protmap.exe是运行于DOS环境下面的,主要功能是把Server program的RPC端口映射到PC系统的TCP和UDP端口。只有在portmap.exe运行之后,客户端和服务端才能通过正确的端口收发数据。

图3-3远程调试器访问目标系统

注意:在以后的新版本中,端口映射功能会被集成进Server program环境中。同时利用网络的远程调试功能也会得到进一步加强。

3.4 Server配置

Server program运行时需要目标处理器的配置信息,比如内核类型和IR(指令寄存器)长度等等。有两种方法可以对server进行配置:

3.4.1自动配置

如果目标处理器是ARM系列的内核,techorICE?能够自动检测到并进行相应配置,并把结果在server的窗口中显示出来。

注意:有时候检测ARM710T/720T/740T/940T系列内核会返回一个UNKNOWN结果,这时候需要对目标进行一下复位后再进行配置,如果还是UNKNOWN,则需要改用3.3.2节所述的“手动配置”。

3.4.2手动配置

手动配置是指通过调用一个用户预定义好的配置文件来完成对server的配置。配置文件是文本格式的,后缀为.cfg。主要包括以下几个部分:

9Title

9TAP controller

9Devices attached to each controller

9JTAG timing information

9Other options

下面是配置文件的格式范例:

[TITLE]

Double cores configuration demo ;给配置方案命名

[TAP0] ;目标系统中包含TAP0控制器

ARM7TDMI ;TAP0控制器上连着一个ARM7TDMI

[TAP1] ;目标系统中包含TAP1控制器

ARM7TDMI-S ;TAP1上连着一个ARM7TDMI-S核

;如果有更多的TAP控制器和内核,依次往下增加

[Timing] ;JTAG口的时序设置

9 ;TCK信号的高电平时间

High

=

Low = 9 ;TCK信号的低电平时间

Adaptive = ON ;RTCK功能开或关(ON or OFF)

[TAPINFO]

YES

[Reset]

nTRST

TAPINFO选项主要是为ASIC开发人员测试芯片时提供的。当该选项打开时,techorICE?在完成正常的配置工作后,会继续从目标ASIC中读取内核的其他信息供设计人员分析。这些信息可以从双击server窗口的TAP控制器图标弹出的窗口中得到。

使用自动配置时,TAPINFO是一直打开的。当调用用户自定义配置文件时, TAPINFO的缺省

状态是关闭。

Reset选项用来定义techorICE?的复位动作。当用户按下server界面上的 Reset Target按钮时,在Reset选项内定义的信号就有效。合法的可选项包括 nTRST和nSRST,或者是两者都选中。

Timing部分定义了JTAG端口的时序信息。关于TCK时钟参数的设置,在附录1中有详细说明。

在一个配置文件中,只有TAP控制器和内核类型的定义是必需的,其他部分都是可选项。

文件中用户的注释语句以分号开头。

3.4.3 IR长度文件

在server程序的安装目录下有一个名为IRlength.arm的文本文件,它里面定义了ARM系列内核的IR(指令寄存器)长度。在配置文件中定义的处理器类型,都从这个文件中读取对应的IR 长度信息。

IR长度文件的内容类似下面所示:

; ARM7 Series Cores

ARM7ODI = 4

ARM7TDMI = 4

ARM7TDMI-S = 4

ARM710T = 4

; ARM9 Series Cores

ARM9TDMI = 4

ARM920T = 4

ARM940T = 4

请注意用户不要修改文件里面的内容。

3.4.4配置过程

图3-4文件映射

3.5 多内核目标系统

一个复杂的系统中可能包含有不止一个的ARM处理器,不同的处理器可以拥有各自的TAP控制器,也可以共享某一个TAP控制器。所有的TAP控制器最后都连在同一条JTAG扫描链上面,然后techorICE?可以通过JTAG接口来控制每一个内核,并把它们封装成一个虚拟内核供调试程序调用。

图3-5多内核调试系统举例

多内核目标系统的配置原理跟前面讲的一样,用户只要通过自动检测和手动定义的办法把各个TAP控制器和对应的ARM内核设定好就可以了。

当目标只包含一个处理器时,IR长度可以通过IRlength.arm文件直接得到,而目标为多内核系统时,实际的IR长度要通过计算得出。

如下面的一个例子所示:

图3-6多内核系统的实例

如果用户要写这样一种情况的配置文件,就必须包含如下几行:

……

[TAP0]

ARM710T

[TAP1]

ARM720T

[TAP2]

ARM740T

……

Server会把配置文件中定义的各个内核窜成一条链,然后从IRlength.arm文件中读出每个处理器单独的IR长度,把它们相加就得到了真正的IR长度。如图3-6给出的例子,JTAG链上一共挂了三个ARM7系列的处理器,每个处理器单独的IR长度都是4 bits,这样的话整条链总的IR长度就是12 bits。所有这些查找和计算工作都是由server程序自动完成的,用户所做的就是把TAP控制器和处理器类型定义正确。

3.6 系统组成结构

整个调试系统的结构组成在下面的图中详细给出。

本地主机:

图3-7调试系统体系

并口方式的调试及远程调试功能2.0版本已经支持;对USB口的支持,会在以后的新版本中推出。

第四章Server program使用指南

techorICE?的硬件仿真器需要在PC端有服务程序的驱动,这一章主要介绍如何使用techorICE?的Server program。

启动Server program

Server program菜单介绍

Server状态指示

并口设置

时钟设置

运行控制

启动选项设置

4.1 启动Server program

从Windows的启动菜单或安装目录启动Server program,会显示出下面的图形界面来:

图4-1 Server program界面

如果Server program启动时弹出下面这样的警告窗口。提示TCP/IP协议堆栈没有正确安装。

相关主题
文本预览
相关文档 最新文档