在线仿真器的基本思想是为嵌入式系统的内部提供一个窗口。
在程序员使用线路仿真器将程序下载到系统后,可以逐步跟踪程序并观察数据变化。
在线仿真器(ICE)是用于调试嵌入式系统软件的硬件设备。
嵌入式系统开发人员面临着普通软件开发人员无法获得的特殊问题,因为嵌入式系统通常没有键盘,显示器,磁盘驱动器和其他有效的用户界面以及商用计算机等存储设备。
当仿真器插入要开发的芯片的一部分时,在线仿真也称为硬件仿真。
当系统运行实时数据时,这种在线仿真器可以提供相对好的调试功能。
在线仿真器的基本思想是为嵌入式系统的内部提供一个窗口。
在程序员使用线路仿真器将程序下载到系统后,可以逐步跟踪程序并观察数据变化。
它们被称为仿真器,因为它们通常用于模拟嵌入式系统中的中央处理器。
通常,它插入到与CPU相同的基础中。
因为它是模拟主处理器,所以仿真器可以在程序员的控制下完成处理器所能做的任何事情。
在线仿真器始终将要开发的嵌入式系统连接到终端或PC。
终端或个人计算机为程序员的调试和控制系统提供交互式用户界面。
值得注意的是,当程序出现问题时,大多数嵌入式系统将立即成为无用的废铁。
嵌入式系统始终缺乏监视软件问题的机制,例如内存管理单元读取缓存故障。
如果没有在线仿真器,嵌入式系统开发将非常困难,因为无法知道发生了什么。
使用在线仿真器,程序员可以测试每行源代码以找出哪个程序出错并纠正错误以解决问题。
在实际应用中,程序员可以设置断点,显示和监视存储器内容,并通过在线仿真器控制输入和输出。
此外,程序员可以通过在线仿真器设置各种条件断点,使他们有机会找到许多错误的根本原因。
最近的一些在线仿真器不再需要特殊的目标系统进行仿真,而是利用微控制器制造商提供的仿真和调试资源。
尽管这种在线仿真器本身仅花费微处理上的仿真电路的处理,而不是实际仿真微处理器,但是降低了成本。
在微处理器的设计过程中,必须确保提供足够的仿真性能。
控制生产成本。
几乎所有嵌入式系统都由独立但相互依赖的硬件和软件组成。
使用在线仿真器,您可以在软件实际运行的硬件上运行和调试。
同时,程序员可以通过源级调试(源级调试,程序员可以看到源代码运行)和单步调试(程序员可以逐步运行程序来查找错误)轻松隔离错误代码。
大多数在线仿真器由主机和正在调试的系统之间的适配器组成。
连接器和电缆组件将适配器连接到系统上的基座,以便为微处理器进行调试。
在最近的在线仿真器中,编程器可以通过JTAG或BDM连接到微处理器芯片上的片上调试电路,以进行软件调试。
由于在线仿真器模拟处理器,它看起来像是要调试的系统中的真实处理器;但从程序员的角度来看,可以完全控制要测试的系统,并且可以直接下载和调试代码。
大多数主机是与正在开发的系统无关的常见商用计算机。
例如:安装了Windows的PC可用于开发用于飞思卡尔68HC11系列微控制器的软件,而68HC11本身不运行Windows。
程序员通常在主机上编写和编译嵌入式系统的代码。
因此,主机上需要一个可以为特定嵌入式系统生成代码的编译器。
它们被称为交叉编译器或汇编器。