ICD和ICE的区别

ICD和ICE的区别,第1张

ICD与ICE的区别

在进行嵌入式系统开发的过程中,经常会用到 ICD和ICE。从字面上讲,ICD的全称为:In Circuit Debugger,ICE为:In Circuit Emulator,中文分别为“在线调试器”和“在线仿真器”。笼统地说,二者都可用于硬件调试和软硬件联调。市面上常见的产品包括ARM公司的Multi-ICE,WindRiver公司的VisionICE和VisionProbe,以及Lauterbach公司的Trace32-ICD和 Trace32-ICE。

那么二者之间究竟有什么区别和联系呢?回答这个问题这要从嵌入式系统调试手段的演化说起。

在早期的嵌入式开发中,尤其是8位机和16位机占主流的时代,ICE是最为常用的调试设备,它的核心思想是完全模拟CPU工作,通过外围电路捕获CPU的各种状态信息,输送到PC端,也就是说它相当于CPU+调试电路,可以从物理上完全替代CPU。所以最早的ICE在使用时需要将CPU从插口上拔下来,再将ICE的电缆插进去。

ICE的出现,给嵌入式开发人员带来了极大的便捷。但随着芯片制造技术的飞速发展,ICE也逐渐显露出一些无法回避的缺陷

1、ICE必须比被调试 CPU运转更快,这样才能在模拟CPU的同时向外输送调试信息,而CPU主频的不断提高使得实现这一点越来越难;

2、日渐复杂的封装技术导致ICE替换CPU的难度不断增大;

3、ICE的先天特性决定它总是落后于CPU发布;

4、ICE的价格通常非常昂贵。

这些缺陷给ICE的发展带来了一定的阻碍,在这种情况下,EmbeddedICE应运而生。

EmbeddedICE是ARM公司提出的一种面向系统的解决方案,其关键技术是在处理器芯片内部加入一个EmbeddedICE单元,提供传统ICE的诸多功能,例如实时寻址、断点、单步以及对CPU核的控制,使用边界扫描链和JTAG接口与PC交互信息,从而实现硬件调试。EmbeddedICE解决了传统ICE的种种难题,从而得到了广泛的应用。ARM7TDMI系列就是基于该方案的典型产品,其名称中的字母I即指示EmbeddedICE。

有了EmbeddedICE,相应的也就出现了新的调试工具ICD。与复杂的ICE不同,ICD的核心硬件只包括一个EmbeddedICE接口盒,用于在PC和处理器芯片的JTAG接口之间搭起一座桥梁,实现PC端调试器指令与JTAG协议的转换,例如将PC端的一次鼠标点击转换成JTAG指令和数据序列,并最终通过EmbeddedICE实现对CPU核的控制。

说到这里,ICE和ICD的区别就不言自明了:ICE通过自身仿真CPU进行调试,而ICD则是利用芯片内部的EmbeddedICE单元对CPU进行调试。特别需要指出的是,上面的讨论都集中在硬件部分,实际上,不管是ICE还是ICD,都离不开一个优秀的集成开发环境;只有通过开发环境对二进制机器码的翻译,开发人员才能够轻松地查看寄存器,查看地址空间,设置断点,将机器指令转换为汇编指令甚至对应到高级代码、实现源码级调试。

弄清楚了二者的区别,现在回到第一段,给市面上的产品归归类。虽然名字看起来都像是ICE,其实未必:

ARM公司的Multi-ICE实际上是ICD,对应的开发环境是ARM SDT或者ADS;

WindRiver的visionICE和visionProbe也是ICD,开发环境是 visi;

Lauterbach的Trace32-ICD和Trace32-ICE倒是都货真价实,开发环境统一叫TRACE32,Lauterbach另外还有一款产品叫 Trace32-FIRE,同属ICE范畴;

目前国内不少公司也陆续开发了一些针对ARM芯片的JTAG仿真器,不过功能都比较简单,还不能称之为 ICD。

置”→“控制面板”。双击“管理工具”→“服务”,打开后将看到服务列表,有些服务已经启动,有些则没有。右键单击要配置的服务,然后单击“属性”。在“常规”选项卡上选择“自动”、“手动”或“禁用”,其中“自动”表示每次系统启动时,WindowsXP都自动启动该服务;“手动”表示WindowsXP不会自动启动该服务,而是在你需要该服务时手动启动该服务;而“禁用”则表示不允许启动该服务。在实际配置时,选择“手动”或者“禁用”都可以实现关闭该服务的目的,推荐使用手动功能,这样你随时可以启动一些临时需要的服务。有些服务是WindowsXP所必需的,不能关闭,否则将会造成系统崩溃。至于各项服务的功能,我们可以通过双击该服务或将鼠标悬停在该服务名上查看。具体服务的说明浅显,大家看得懂,可以自己选择那些要那些不要。修改的方法是:选中禁用的服务,点右键,选"属性">"停止",将"启动类型"设置为"手动"或"已禁用"。

以下为一些不常用的服务:

Alerter-错误警报器。禁用

AutomaticUpdates-windows自动更新,不影响手动更新。禁用

Clipbook-与局域网电脑共享粘贴/剪贴的内容。禁用

ErrorReportingService-错误报告器。禁用

FastUserSwitchingCompatibility-多用户快速切换服务,不如用注销了。禁用

HelpandSupport-帮助。手动

HumanInterfaceDeviceAccess-支持多媒体键盘等HID设备。手动

IMAPICD-BurningCOMService-有其他的刻录软件就不需要了。禁用

IndexingService-索引服务,用于快速查找文件,关闭也能查。手动

IPSECServices-安全方面的。手动

NetMeetingRemoteDesktopSharing-用Netmeeting实现电脑共享。禁用

NetworkDDE-禁用

NetworkDDEDSDM-禁用

PerformanceLogsandAlerts-记录机器运行状况而且定时写入日志或发警告。手动

PortableMediaSerialNumber-禁用

PrintSpooler-打印机服务,关掉就无法打印了,视情况而定。手动

RemoteDesktopHelpSessionManager-远程帮助服务,禁用

RemoteRegistry-远程注册表运行/修改。大漏洞,禁用

RoutingandRemoteAccess-路由服务。禁用

SecondaryLogon-给与administrator以外的用户分配指定 *** 作权.手动

SecurityAccountsManager-像ProtectedStorage,IISAdmin才需要。手动

SmartCard-智能卡服务,我没用过。手动

SmartCardHelper-智能卡帮助,手动

SystemRestoreService-系统还原服务,自己决定。我选禁用

TCP/IPNetBIOSHelper-如果你的网络不用Netbios或WINS,就禁用

UninterruptiblePowerSupply-UPS用的吧。手动

UploadManager-用来实现服务器和客户端输送文件,简单文件传输不需要这个!手动

VolumeShadowCopy-同MSSoftwareShadowCopyProvider。手动

WebClient-不清楚,我用手动

windowsTime-网上时间校对。手动

WirelessZeroConfiguration-无线网络设置服务。手动

WMIPerformanceAdapter-不清楚。手动

winxp专业版的各标准服务简介

alerter-错误警报器。禁用

applicationlayergatewayservice?C有些防火墙/网络共享软件需要。手动

applicationmanagement-用于设定,发布和删除软件服务。手动

automaticupdates-windows自动更新,不影响手动更新。禁用

backgroundintelligenttransferservice?C后台智能传输。手动

clipbook-与局域网电脑共享粘贴/剪贴的内容。禁用

Com+Eventsystem ?C很多软件需要。自动

COM+Eventsystemapplication -和上面的差不多,但不是那么重要。手动

ComputerBrowser-用来浏览局域网的服务,但关了也不影响浏览!手动

CryptographicServices-windows更新时用的。手动

DHCPClient?C局域网域用户和宽带adsl拨号可能需要。手动

Distributedlinktrackingclient-用于局域网更新连接信息。手动

DistributedTransactioncoordinator-并行处理使用,如果你不是服务器的话,就禁用

DNSClient-DNS解析服务。服务器用。手动

Errorreportingservice-错误报告器。禁用

EventLog-系统日志纪录服务,用于查找系统毛病.自动

Fastuserswitchingcompatibility-多用户快速切换服务,不如用注销了。禁用

helpandsupport?C帮助。手动

Humaninterfacedeviceaccess-支持多媒体键盘等HID设备。手动

IMAPICD-burningCOMservice -有其他的刻录软件就不需要了。禁用

Indexingservice?C索引服务,用于快速查找文件,关闭也能查。手动

InternetConnectionFirewall(ICF)-xp防火墙,没什么用。禁用

IPSECServices-安全方面的。手动

LogicalDiskmanager -磁盘管理服务。手动

LogicalDiskmanageradministrativeservice-同上。手动

messenger?C局域网内利用netsend命令传递消息。禁用

MSsoftwareshadowcopyprovider-软件备份。禁用

NetLogon-登陆domain,如果局域网是工作组方式或是个人用户,请禁用

Netmeetingremotedesktopsharing-用Netmeeting实现电脑共享。禁用

NetworkConnections-上网/局域网要用的!自动

NetworkDDE 和NetworkDDEDSDM -禁用

NetworkLocationAwareness-如有网络共享或ICS/ICF可能需要.(服务器端)手动

NTLMSecuritysupportprovider-安全方面的。禁用

NVIDIADriverHelperservice-nvidia显卡帮助,禁用

Performancelogsandalerts-记录机器运行状况而且定时写入日志或发警告。手动

PlugandPlay-自动检测新装硬件。自动

Portablemediaserialnumber-禁用

PrintSpooler-打印机服务,关掉就无法打印了,视情况而定。手动

ProtectedStorage-储存本地和网上服务密码,包括填表时的“自动完成”等功能。自动

QoSRSVP?C个人用户用不着。手动

Remoteaccessautoconnectionmanager-我是ADSL,设成了手动

Remotedesktophelpsessionmanager-远程帮助服务,禁用

RemoteProcedureCall(RPC)-系统核心服务!自动

RemoteProcedureCallLOCATOR-管理RFC数据库服务,手动

remoteregistry-远程注册表运行/修改。大漏洞,禁用

removablestorage -磁带备份用的。禁用

routingandremoteaccess-路由服务。禁用

secondarylogon-给与administrator以外的用户分配指定 *** 作权.手动

securityaccountsmanager-像ProtectedStorage,IISAdmin才需要。手动

server-局域网文件/打印共享需要的。自动

shellhardwaredetection-不清楚,自动

smartcard?C智能卡服务,我没用过。手动

smartcardhelper?C智能卡帮助,手动

SSDPDiscoveryservice-没有什么硬件利用这个服务。禁用

systemeventnotification-记录用户登录/注销/重起/关机信息。视情况定。手动

systemrestoreservice-系统还原服务,自己决定。我选禁用

taskscheduler-windows计划任务。禁用

TCP/IPNetBIOShelper-如果你的网络不用Netbios或WINS,就禁用

Telephony-拨号服务,如果你的宽带不用拨号,那么关了它。

Telnet-大漏洞,这和dos中telnet命令没关系。禁用

terminalservices-实现远程登录本地电脑,快速用户切换和远程桌面功能需要。禁用

themes?C关掉了就没有漂亮的界面了。自动

uninterruptiblepowersupply-UPS用的吧。手动

universalplugandplaydevicehost-同SSDPDiscoveryService。禁用

uploadmanager-用来实现服务器和客户端输送文件,简单文件传输不需要这个!手动

volumeshadowcopy-同MSSoftwareShadowCopyProvider。手动

webclient-不清楚,我用手动

WindowsAudio- 关了就没声音了!自动

WindowsInstaller-windows的MSI安装服务,手动

windowsimageacquisition(WIA)?C扫描仪用的,但是大多数都不需要。手动

WindowsManagementInstrumentation?C核心服务。自动

windowsmanagementinstrumentationdriverextensions-没上面的重要,手动

windowstime-网上时间校对。手动

wirelesszeroconfiguration-无线网络设置服务。手动

WMIperformanceadapter?C不清楚。手动

Workstation-很多服务都依靠这个服务,支持联网和打印/文件共享的。

清除一下临时文件夹


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8661224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存