What is the difference between these two breakpoints?
A software breakpoint is implemented by replacing the instruction at a specific address with an emulator trap instruction. When the processor hits that instruction, the emulator exception is handled and the core is halted by the IDDE. In the background, the trap instruction is then replaced by its original instruction by the IDDE (so that execution can continue from that point when you next hit 'run').
A Hardware Breakpoint uses the processor's watchpoint unit to monitor instruction/data buses to provide the breakpoint functionality, and trigger the emulation event when specific addresses/ranges are accessed. The behaviour of each is similar, but the underlying mechanisms differ.
Thanks for your reply.
Retrieving data ...