A software breakpoint inserts a debug instruction into the code, so it only works in the writable memory. If you are working in ROM, then you have to use a hardware breakpoint. The hardware breakpoints make use of the hardware debug support using OCE.