您的位置:首页 > 其它

国嵌不用jlink那使用什么下载逻辑程序并单步调试的?& h-jtag原理,和jlink区别 & jlink为什么这么贵。

2013-12-26 22:55 876 查看
这篇文章解决了三个问题:

1.我记得以前用国嵌的板子,没用jlink,没米,就没买,但是也能调试板子,能单步调试,能看arm里寄存器的值,也能烧写flash。那用什么下程序的呢?

公司的是用串口下到ram,但是不能单步调试。

用jlink当然单步调试,烧写flash都能做到。jlink调试板就是做rdi->jtag协议的转换的,看下面2. h-jtag就是jlink的pc软件版本。所以可以当一个东西。都是做协议转换。

国嵌用的是h-jtag。一端是并口,一端是连板子的jtag口。

来看h-jtag是什么?

H-JTAG支持ARM公司的RDI接口。通过RDI接口,H-JTAG能够支持大多数主流的ARM调试软件。

调试的结构如图1-2所示。(首先h-jtag是个软件,RDI接口是这个h-jtag软件的接口,就是api)



调试软件(AXD/RVDS/IAR/KEIL)通过RDI接口与H-JTAG SERVER进行交互。H-JTAG SERVER(就是指h-jtag这个软件)

通过并口/USB连接JTAG仿真器(所以除了国嵌的并口,还可以是usb口)。H-JTAG提供了灵活的JTAG接口设置,同时支持并口及USB接口仿真

器。通过设置,H-JTAG可以支持不同类型的JTAG调试板,例如流行的WIGGLER,SDT-JTAG,用户也

可以根据自己的需要使用自定义的JTAG调试板。

(这里上图有个jtag仿真器,但是根据下面问题2的回答,h-jtag硬件部分就是个电平转换接口,而且国嵌的h-jtag硬件部分也就是一个并口连接一个jtag口,没什么仿真器)

除了调试,用户还可以通过H-FLASHER将程序和数据烧写/下载到FLASH芯片中去。目前,

H-FLASHER支持的常见的片内和片外FLASH芯片。随着软件的更新和升级,H-FLASHER支持的芯片类

型也会不断的增加。在执行FLASH烧写时,H-FLASHER与H-JTAG SERVER的连接如下图所示:

2.那h-jtag和jlink是什么区别呢?

调试arm,总要遵循arm的调试接口协议吧,jtag就是其中的一种吧。当仿真时,iar,keil,ads等等都有一个公共的调试接口,RDI就是其中的一咱吧, 那么我们如何完成RDI-->arm调试协议(JTAG)的转换呢? 如是乎就有两种做法:

1. 在电脑上写一个服务程序,把keil,ads,iar中的RDI命令解析成相关的JTAG协议,然后通后一个物理转换接口(注意,这个转换只是电气物理层上的转换,就像RS232那样的作用)发送你的的目标板。 h-jtag就是这样的。 h-jtag的硬件就仅是一个物理电平的转换接口,所以很简单。而电脑中装的h-jtag软件就是前面说到的服务程序,负责协议转换的。

2。另一种做法,就是做一个板,用此板直接接收来自keil,ads,iar等软件的调试命令,由此板做rdi->jtag协议的转换。然后与目标板通信,这就是jlink的工作原理。

由上可以看出 h-jtag由于是软件作协议转换的,所以速度较慢,但是硬件简单。而第二种方法的jlink一般带一个强劲的CPU,作硬件协议转换,把以硬件复杂,但速度快


3.jlink为什么这么贵,上面问题2里可以看出来,jlink带了个cpu,原来如此。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐