简单的说,硬件断点有一个专门的寄存器,保存一个地址,就是断点,然后会不停的与PC比较,当匹配的时候就通过一定的机制停止处理器运行,一般其还支持条件断点。而软件断点可通过运行时插入一条特殊的指令来实现,通常在仿真调程序时使用软件断点,将代码写入flash后,使用硬件断点。