I'm using the following system: Keil: Realview MDK-ARM ver4.10 Jtag debugger: Coocox colink processor: generic cortex-m3 with the following memory layout :
0x00000000-0x00004000 -ROM (read only) 0x20000000-0x20008000 -RAM
In Keil uVision, I define the TARGET option memory areas with the corresponding values: IROM:0x00000000 size:0x4000 (startup checked) IRAM:0x20000000 size:0x8000
In the Linker option, I select the "Use memory layout from Target Dialog".
When i start the debug sessions, software breakpoints are used for the ROM area. What is wrong?
Why do you think that this is wrong?
Have you also asked them about this?
How is it possible to use software breakpoints in ROM? As i said, ROM is read only and hence the debugger cannot write to it. The debugger cannot replace the instruction with a BREAKPT instruction.
some debuggers (i.e. J-Link) can do this, they reprogramm the flash.
BR, /th.
"some debuggers (i.e. J-Link) can do this, they reprogramm the flash."
Yes, but if I'm correctly informed, that only happens when the developer tries to add more breakpoints than is supported in hardware.