Hi, I have been using software breakpoints to debug, i was using an older version of OpenOCD and only recently upgraded to a higher version. I can confirm that the issue exists for software breakpoints, how do i check the hardware breakpoints ?
Also i tried setting pc to a higher value, but it says there is no such variable pc when i try setting it. Could you please explain how to do this in a little more detail ?. I know this may not be effective but just want to make sure i can go beyond this point. Does deleting the break point after it hits work for you? Thanks Nived On Tue, Sep 14, 2010 at 5:59 PM, Drasko DRASKOVIC < drasko.drasko...@gmail.com> wrote: > On Tue, Sep 14, 2010 at 11:42 PM, Nived <nive...@gmail.com> wrote: > > Hi, > > I was just about to try the patch in sparkfun. > > Try it, maybe it will work for you. And might throw some light on the > issue. > > > Btw, in one of the mails in > > the thread you mention that you used set $pc = $pc + 4 and it worked. > Where > > did you use it and why isn't that a work around ? > > Well, when you receive SIGINT on a break point, and keep receiving it > with every next step, you can try to force your $pc over the > "breakpoint" which replaced your instruction in the memory. I picked a > number of 4 bytes, supposing that the replacing instruction will take > a 4 bytes. But it can take 2 bytes (for example of ARM thumb mode). > You can not know, so you might be forcing your $pc over some important > instruction and so never executing them, probably leading to a crash > or wrong behavior. > > I would not call this a "workaround". I just tried it to prove if > there is a trailing bkpt instruction that rests in the I$, because I > have no means to inspect cache contents at this point. I observed > memory by dumping it and I can clearly see that original instruction > is replaced correctly by GDB on deleting breakpoint. > > However, it is still a misery to me. You do not have to delete > breakpoint to step over it. Most of the time you would like to leave > it there, so it can be hit in the next pass. Why does it keep > receiving SIGINT over and over I have no idea, and I am seriously > suspecting wrong interrupt handling, but I still did not get any > confirmation on this from OpenOCD experts, nor did anyone pointed me > to the SW breakpoint handling routines in OpenOCD, so I can > investigate further. > > Just to make it clear, for me HW breakpoints work OK, as they do not > use same mechanism as SW breakpoints do. Do you confirm tat it is the > same for you ? > > Best regards, > Drasko >
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development