jlink,usb-blaster, dstream这些适配器的为什么称为“仿真器”?
最近在搞一个基于OpenOCD和jlink的调试环境调试某款平台,忽然想到一个之前一直忽略的问题, 期望大神帮忙解答。
通常嵌入式平台调试开发都会使用仿真器(ice)或者调试器来完成, 比如jlink, usb-blaster, openjtag, dstream,等等,本人也用过
一些, 软件开发中可以用来烧写固件,GDB调试,获取目标平台CPU寄存器,IO状态等等。 所用到的基本上可以成为 “调试器”的
功能,或者称呼ice(in circult emulation)也可以理解. 但是对于另外一种称呼"仿真器“ 似乎不太明白, 如果以“模拟目标CPU的状
态” 来解释,一般例如jlink完成的是调试协议的转换,讲gdb或者openOCD的命令转换为底层的jtag数据包, 何来仿真目标CPU?
调试时需要jlink通过jtag口链接目标板, 实际的逻辑是在开发板上跑的,jlink脱离不了目标板独立运行,“”仿真“”的依据在哪里?
而且这类调试器一般内部是CPLC或者FPGA等器件, 起到USB协议转串行协议的作用,哪里可以 “仿真” 目标CPU?
大家可以看某宝上卖clone jlink的, 很多地方解释仿真器, 指的是仿真目标CPU, 很多专业的书籍里面也称呼是“仿真器”而不是 “下载器” 所以这里想辩个究竟。