在线仿真器

✍ dations ◷ 2025-11-15 00:06:17 #在线仿真器

在线仿真器(英语:In-Circuit Emulator,简称:ICE)是调试嵌入式系统软件的硬件设备。嵌入式系统开发者要面对一般软件开发者所没有的特殊问题,因为嵌入式系统往往不像商业计算机那样具有键盘、显示屏、磁盘机和其他各种有效的用户界面和存储设备。在线仿真器通过处理器的额外辅助功能,使系统在不失去其功能的情况下,提供调试功能。历史上,由于处理器能力有限,这通常意味着将其处理器临时更换成一个硬件仿真器。硬件仿真器是普通处理器的特制版本,内部设有多种额外的调试信号,以便提供处理器内部状态的信息。

而现今,在线仿真器也可以指在处理器上直接进行调试的硬件设备。由于JTAG等新技术的出现,人们可以直接在标准的量产型处理器上直接进行调试,而不需要特制的处理器,从而消除了开发环境与运行环境的区别,也促进了这项技术的低成本化与普及化。在这种情况下,由于实际上并没有任何的“仿真”,“在线仿真器”是个名不副实的误称,有时会造成一些误解。当仿真器被插入到待开发芯片的某个部分的时候,在线仿真也被称作硬件仿真。这样的在线仿真器,可以在系统运行实时数据的情况下,提供相对很好的调试能力。

在线仿真器的基本思想是提供一面通向嵌入式系统内部的窗户。程序员用线上仿真器将程序下载到系统运行后, 可以对程序进行逐步跟踪并察看数据的变化。

之所以被叫做仿真器, 因为它们经常用来模拟嵌入式系统中的中央处理器。通常来说, 它通过一个插头插在一个与 CPU 一样的底座上。由于是模拟主处理器, 仿真器可以在程序员的控制下做任何处理器可以做的操作。

在线仿真器总是将待开发的嵌入式系统连接到一个终端或个人电脑。该终端或个人电脑为程序员调试和控制系统提供一个交互式的用户界面。

值得注意的是,当程序出现问题,大多数的嵌入式系统会立刻变成毫无用处的废铜烂铁。嵌入式系统总是缺乏监测软件问题的机制,比如内存管理单元读取缓存失败等。如果没有在线仿真器,嵌入式系统开发将变得非常困难,因为根本没有办法知道究竟发生了什么问题。而有了在线仿真器,程序员可以测试每一行源代码,从而找到究竟是哪一段程序出错并纠正错误以解决问题。

在实际应用中,程序员可以通过在线仿真器设置断点、显示和监视内存内容以及控制输入输出。除此之外,程序员还可以通过在线仿真器设置各种条件断点,从而有机会找到很多错误的根源。

最近的一些在线仿真器不再因为仿真而需要一个特殊的目标系统,而是利用由微控制器生产商提供的仿真和调试资源。虽然这样的在线仿真器本身由于只处理微处理上的仿真电路, 而不是真正去模拟微处理器从而成本得到降低, 代价是在微处理器的设计过程中, 需要在保证提供足够仿真机能的基础上控制生产成本。

几乎所有的嵌入式系统都由相互独立但又相互依赖的硬件和软件组成。通过在线仿真器,可以在软件真正将要运行的硬件上运行和调试。同时,通过原码级调试(Source Level Debug, 程序员可以看到运行的源代码)和单步调试(程序员可以一步一步的运行程序寻找错误),程序员可以方便的分离出错误代码。

大多数在线仿真器都由一个位于主机和被调试系统之间的适配器组成。接头和电缆组件将适配器连接到待调试系统上用于安插微处理器的底座。而最近的在线仿真器上, 程序员可以通过 JTAG 或BDM接口(英语:Background debug mode interface)连接到位于微处理器片上的调试 (On-Chip Debug) 电路进行软件调试。

由于在线仿真器模拟处理器, 所以在待调试系统看来, 就像一个真的处理器;但从程序员角度看来, 待测试系统能够被完全控制, 可以直接下载、调试代码等等。

大多数主机都是普通的与被开发系统无关的商业电脑。例如: 安装Windows系统的个人电脑可能被用来开发在 Freescale 的 68HC11 系列微控制器上使用的软件, 而 68HC11 本身并不能运行 Windows 系统。

程序员一般在主机上编写和编译嵌入式系统的代码。所以主机上需要能为特定的嵌入式系统产生代码的编译器,他们被叫做交叉编译器。

相关

  • 部件汉字部件是汉字字形结构的基本单元,具有组配汉字的功能。其由笔画构成,介于笔画与部首二者之间。其研究虽然古代已有人进行,但在手写时代并未受到重视。一直要到现代资讯科技发
  • 梭子蟹科见内文梭子蟹科(学名Portunidae),又名蝤蛑科(“蝤蛑”,拼音:jiū móu,注音:ㄐㄧㄡ ㄇㄡˊ)、蠘(潮汕话)、蠘仔(台湾话),是短尾次目梭子蟹总科的其中一科,其下有6个亚科35属300种。它包括
  • 1960年美国人口普查1960年美国人口普查(英语:1960 United States Census)是美国历史上第18次全国人口普查,确定了美国的常住人口为179,323,175人,相比1950年美国人口普查,同比增长为18.5。
  • 长角野牛长角野牛(学名:),或称作宽额野牛,是一种已绝种的美洲野牛属,生活于 200,000 年前更新世时期的北美洲,大约于 21,000 至 30,000 年前末次冰盛期开始时灭绝。长角野牛的肩高可达 2.5
  • 第一次卡洛斯战争自由派胜利 卡洛斯主义者 自由派第一次卡洛斯战争是1833年至1840年发生于西班牙的内战 ,这是三场卡洛斯战争中的第一次。这场战争是因争夺西班牙君主王位和决定西班牙君主制
  • 澄澈 (捷德歌曲)《澄澈》(英语:),是德国/俄罗斯电音制作人捷德的一首歌曲,作为同名专辑的第3支单曲发行。英国歌手法西丝参与了歌曲人声的演唱。歌曲由捷德、斯盖拉·格蕾、马修·科马和波特·罗宾逊共同创作。在捷德听过法西丝的歌曲"Youth"之后,捷德通过Skype联系了法西丝邀请法西丝参与歌曲的演唱。法西丝在维基百科上搜索了有关捷德的信息之后接受了邀请。2012年10月2日,歌曲作为iTunes每周单曲发行。2013年2月12日,Interscope唱片发行了这首歌曲的EP。捷德于2012年11月12日在Beatport专
  • 前110年
  • 阿拉斯莱米讷阿拉斯莱米讷(法语:Allas-les-Mines,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","Gentium Alternative","TITUS Cyberbit Basic","Arial Unicode MS","IPAPANNEW","Chrysanthi Uni
  • 希波吕托斯 (神话)希波吕托斯(英语:Hippolytus)古罗马神话职司森林以及狩猎的神祇之一。它作为古罗马人所崇拜与供奉的众多神祇之一发挥影响并产生作用,其相关事迹亦在古罗马得到广泛流传与传播。具有重要地影响与积极意义。
  • 亚扪语亚扪语(英语:Ammonite language)是一种迦南语(英语:Canaanite languages),使用者为《圣经》中提到的亚扪人。他们生活在现今约旦的西北部地区,约旦首都安曼也是以他们命名的。他们的语言只有一些片段留存下来,以公元前9世纪的安曼城堡铭文(英语:Amman Citadel Inscription)、公元前7-6世纪的泰尔·西兰(Tell Siran)青铜瓶和一些陶片为主。从少量的语料库中可以确定,它与圣经希伯来语(英语:Biblical Hebrew)极为相似,可能受到一些阿拉