Hi everyone,
I am debugging an application on a STM32F4 in flash with a ULINK. I read one of the features for the ULINK should be 8 breakpoints, but after the 6th breakpoint I get an error message. Isn't it possible to use all 8 breakpoints? Maybe can I use 8 breakpoints with another device?
Can you help me with this?
Warden
"Keil promises 8 ROM breakpoints here:"
Actually, no they don't.
They promises "8 max" (note that 8 max often means something else than 8 - "8 max" often means "up to", indicating that there may be other factors making the practical limit lower).
And the above promise is for Cortex-M3 - isn't your processor a Cortex-M4? Where in that table do you see any promises for Cortex-M4 besides the check for "Supported Device Families"?
Per,
My processor is an older STM32F1, so it is an M3, but I think for both M3 and M4: I am not aware of any Cortex-M3 or M4 that has more than 6 Flash patch units that can be used. Can you name even one Cortex-M device on which the 8 Breakpoints can actually be set? If you can not, should not the "8 max" be changed?
How many get eaten with reset, run-to-main, stepping, or other housekeeping purposes?
Perhaps flow might be better exposed via telemetry rather than abruptly grinding to a halt in a debug terminal?
The limit is 6 breakpoints, calling it 8 is simply wrong. Trying to say: Oh you do not need breakpoints, you can simulate etc. does not make it any more true.
Besides: The way I work I need a lot of breakpoints. Reminds me of my old boss, who said: Debuggers are only for sloppy programmers...