The tool consisting of the hardware and the software and used for the test is called an emulator. It debugs the executable programs written by users.
By using an emulator, the software executes for each instruction, checks the operation, and reads and writes data in the memories and registers. It is possible to check the operation in various situations.
Emulators can be roughly categorized into two types: an in-circuit emulator and an on-chip debug emulator.
An on-chip debug emulator can debug in an environment that is close to the actual machine since it uses the on-chip debug function of the microcontroller incorporated on the target system.
On the other hand, the in-circuit emulator realizes high functionality by using the microcontroller for the emulator separated from the actual microcontroller.