在线仿真器

✍ dations ◷ 2025-01-11 09:53:16 #在线仿真器

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 常州词派常州词派是清代中叶以后的重要词派。清初词风以浙西词派为主﹐词宗姜夔、张炎。到了清中后期,浙派词内容更趋空虚狭窄。后有常州人张惠言提出“比兴寄托”,主张“意内言外”,较之
  • 高山樗牛高山樗牛(1871年2月28日-1902年12月28日)原名高山林次郎,出生于大日本帝国时期的山形县鹤冈市,毕业于东京帝国大学,日本近代知名作家。高山樗牛的父亲是一个藩士,幼年时他就做了伯
  • .pk.pk为巴基斯坦国家及地区顶级域(ccTLD)的域名。此外还拥有乌尔都语顶级域名پاکستان.‎。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az 
  • 三宅康信三宅康信(1563年—1632年11月9日)是日本战国时代至江户时代初期的武将、大名。三河国举母藩(日语:挙母藩)第2代藩主、伊势龟山藩(日语:伊勢亀山藩)初代藩主。田原藩(日语:田原藩)三宅家
  • 胡赐道胡赐道博士,(1926年10月30日-),是新加坡政治家,胡载坤之子。他曾经于1985年至2001年间在新加坡人民行动党的政府出任财政部长。退出政坛后,出任新加坡地产发展公司嘉德置地的主席至
  • 亨利-皮埃尔·罗谢亨利-皮埃尔·罗谢(Henri-Pierre Roché)(1879年5月28日-1959年4月9日)是一位法国作家,对于巴黎艺术和达达运动影响深远。亨利-皮埃尔·罗谢出版两本小说:《夏日之恋》(1953)、《两
  • 索菲公主 (荷兰)荷兰的索菲公主(荷兰语:Wilhelmine Marie Sophie Louise,1824年4月8日-1897年3月23日),萨克森-魏玛-艾森纳赫大公夫人,荷兰国王威廉二世的独女。1842年,索菲与萨克森-魏玛-艾森纳赫
  • 反审查图书馆反审查图书馆(英语:The Uncensored Library)是由无国界记者运营,BlockWorks、DDB Berlin和MediaMonks建立的《我的世界》服务器和游戏关卡,旨在方便生活在缺乏新闻自由的国家居民规避审查制度阅读受限制文章。该图书馆供应有在墨西哥、俄罗斯、越南、沙特阿拉伯和埃及遭受封禁的书籍和文章。各国均拥有一个展示区,其中包含一些违反当地法律的物品。该馆于2020年3月12日(世界反对网络审查日)开服。目前,访问图书馆有两种方式,一种是从官方网站下载游戏地图,另一种是连接到他们
  • 约翰·阿瑟斯约翰·查尔斯·阿瑟斯(英语:John Charles Arthurs,1947年8月15日-),美国NBA联盟职业篮球运动员。他在1969年的NBA选秀中第6轮第73顺位被密尔沃基雄鹿选中。
  • 蒙古人 (歌曲)《蒙古人》(蒙古语:Монгол хүн)是由中国蒙古族歌手腾格尔谱曲并演唱的歌曲。歌词节选自蒙古国诗人奇·其木德(蒙古语:Ч.Чимид;拉丁转写:Ch. Chimed)1945年创作的长诗《我是蒙古人》(蒙古语:Би монгол хүн;拉丁转写:Bi mongol hun),用蒙、汉两种语言演唱,表现对族群的认同、对故乡的热爱。1986年腾格尔携此歌参加东方歌舞团主办的首届“孔雀杯”青年歌手大赛并进入前十名,标志着自身歌唱生涯的开始。1988年歌曲专辑发行后,在国内外都产生了很大影响,甚至被泛蒙古