An online emulator (English: In-Circuit Emulator, ICE for short) is a hardware device that debugs embedded system software. Embedded system developers have to face special problems not found by general software developers, because embedded systems often do not have keyboards, display screens, disk drives and other various effective user interfaces and storage devices like commercial computers. The online emulator allows the system to provide debugging functions without losing its functions through the additional auxiliary functions of the processor. Historically, due to limited processor capabilities, this usually meant temporarily replacing its processor with a hardware emulator. The hardware emulator is a special version of a common processor, which has a variety of additional debugging signals to provide information about the internal state of the processor.
An online emulator (English: In-Circuit Emulator, ICE for short) is a hardware device that debugs embedded system software. Embedded system developers have to face special problems not found in general software developers, because embedded systems often do not have keyboards, display screens, disk drives and other various effective user interfaces and storage devices like commercial computers. The online emulator allows the system to provide debugging functions without losing its functions through the additional auxiliary functions of the processor. Historically, due to limited processor capabilities, this usually meant temporarily replacing its processor with a hardware emulator. The hardware emulator is a special version of a common processor, which has a variety of additional debugging signals to provide information about the internal state of the processor.
Today, online emulators can also refer to hardware devices that are debugged directly on the processor. Due to the emergence of new technologies such as JTAG, people can directly debug on standard mass-production processors without the need for special processors, which eliminates the difference between the development environment and the operating environment, and also promotes the technology Cost reduction and popularization. In this case, because there is actually no "simulation", "online emulator" is a misnomer, and sometimes causes some misunderstandings. When the emulator is inserted into a certain part of the chip to be developed, online simulation is also called hardware emulation. Such an online emulator can provide relatively good debugging capabilities when the system is running real-time data.
The basic idea of the online emulator is to provide a window to the interior of the embedded system. After the programmer downloads the program to the system with an online emulator, he can track the program step by step and observe the data changes.
They are called emulators because they are often used to emulate central processors in embedded systems. Generally speaking, it is inserted into a base similar to the CPU through a plug. Because it is a simulated main processor, the emulator can do whatever the processor can do under the control of the programmer.
The online emulator always connects the embedded system to be developed to a terminal or personal computer. The terminal or personal computer provides an interactive user interface for programmers to debug and control the system.
It is worth noting that when there are problems with the program, most embedded systems will immediately become useless scrap copper. Embedded systems always lack mechanisms to monitor software problems, such as the failure of the memory management unit to read the cache. Without an online emulator, embedded system development will become very difficult, because there is simply no way to know what happened. With an online emulator, programmers can test each line of source code to find out which section of the program is wrong and correct the error to solve the problem.
In practical applications, programmers can set breakpoints, display and monitor memory contents, and control input and output through an online emulator. In addition, programmers can also set various conditional breakpoints through the online emulator, thereby having the opportunity to find the root cause of many errors.
Some recent online simulators no longer require a special target system for simulation, but use simulation and debugging resources provided by microcontroller manufacturers. Although such an on-line emulator itself only deals with the emulation circuit on the micro-processing, instead of really emulating the microprocessor, the cost is reduced, the cost is that in the design process of the microprocessor, it is necessary to ensure that the foundation of providing sufficient simulation function Control production costs.
Almost all embedded systems are composed of independent and dependent hardware and software. Through the online emulator, you can run and debug on the hardware that the software will actually run. At the same time, through source level debugging (Source Level Debug, the programmer can see the running source code) and single-step debugging (the programmer can run the program step by step to find errors), the programmer can easily separate the error code.
Most in-circuit emulators consist of an adapter between the host and the system being debugged. The connector and cable assembly connect the adapter to the base on the system to be debugged for mounting the microprocessor. On the recent online emulator, programmers can connect to the on-chip debug circuit located on the microprocessor chip through the JTAG or BDM interface for software debugging.
Because the online emulator simulates the processor, it looks like a real processor to the system to be debugged; but from the programmer's point of view, the system to be tested can be fully controlled, and you can directly download, debug code, etc.
Most mainframes are ordinary commercial computers that have nothing to do with the system being developed. For example: A personal computer with a Windows system may be used to develop software used on Freescale's 68HC11 series microcontrollers, but the 68HC11 itself cannot run the Windows system.
Programmers generally write and compile code for embedded systems on the host. So the host needs a compiler that can generate code for a specific embedded system. They are called cross compilers or assemblers.
CPLD CoolRunner -II Family 750 Gates 32 Macro Cells 323MHz 0.18um, CMOS Technology 1.8V 44-Pin VQFP
CPLD CoolRunner -II Family 750 Gates 32 Macro Cells 200MHz 0.18um, CMOS Technology 1.8V 44-Pin PLCC
FPGA XC5200 Family 16K Gates 1296 Cells 83MHz 0.5um Technology 5V 84-Pin PLCC
FPGA XC5200 Family 16K Gates 1296 Cells 83MHz 0.5um Technology 5V 208-Pin PQFP
FPGA Spartan-IIE Family 600K Gates 15552 Cells 357MHz 0.15um Technology 1.8V 676-Pin FBGA
Support