What is the difference between ordinary debug and real-time debug?
Debugging is usually executed by a debugger, which is normally a software running on PC. Debugger’s major job is to get information from target CPU and control the program running on the target CPU (such as step, breakpoint and run). But ordinary debugger needs to stop the program running on the target CPU in order to execute the above job. Real-time system needs real-time debugger. Real-time debugger must get the information from target CPU and control the program running on target CPU WITHOUT stopping the program running on the target CPU. To realize the real-time debugging, the debugger must build a real-time communication channel between the debugger and the target CPU . The real-time channel includes two levels: hardware channel and software channel. The real-time hardware channel is the real-time emulator and the real-time software channel is the real-time debugger.