I am a beginner in Trace32. I want to know when do we use soft breakpoint and when do we use on chip breakpoint .( I mean when the code is flashed in the rom do we use on chip breakpt.and soft brkpt when runnng the code from RAM) Correct me if wrong?
Software breakpoints do modifications on your code to "handle" the breakpoint and so require writable memory. So indeed, if your code is in flash or in a ROM, you can't set software breakpoints.
On another hand, you have no limitation on the number of software breakpoint whereas hardware breakpoint are limited to 2 or 3 (if I remember well and may be more if you use JTAG/ETM instead of just JTAG).
BTW: you didn't mention the CPU family you are using.
Although I don't know the capabilities of Trace32, your assumption is not generally right. One can use hardware breakpoints for code in RAM and "software breakpoints" in Flash - maybe Trace32 doesn't support the latter, but iSYSTEM winIDEA does.
I dislike software breakpoints in Flash since Flash is programmed twice on each breakpoint hit. This causes delays and Flash wearout. Well, the Coldfire I'm using should survive 100000 cycles at room temperature, so unless I have a breakpoint with some counting condition, this will last long enough.
If it supports breakpoints in flash I am pretty sure. If not simulate then they will use some RAM to execute this patched op-code there and then give back control where it left.
--
42Bastian
Do not email to bastian42@yahoo.com, it's a spam-only account :-)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.