Hello,
I'm using MDK 4.14 for an LPC2478. Trying to catch a presumed data corruption, I'm want to halt my program when some variable (or preferably memory address?) contains a value larger than a certain constant. Now that works when the constant (=variable value) is a power of 2 and the conditional used is either "==" or "<" or "<=" but never ">" (I need that!). It complains about alignment, but nothing changed in the expression but the sign. Even a comparison with 0 (> 0, >= 0) fails, while <, <= works !
what happening here? Is there a workaround? can I compare the contents of a memory address with a constant rather than a global variable with a constant?
I have noticed that != does not work at all, at least for me (while the == works with the same expression). Can anybody provide an example how to use these? Maybe it is a parsing issue? The Keil examples are too simple.
How lovely. Just noticed that if you define an access break point with the condition "< 0", the program stop at every access, regardless of the condition if fulfilled...!
The manual says:
"Expressions for an Access Break must reduce to a memory address and memory type. The operators (&, &&, <. <=. >, >=, = =, and !=) can be used to compare the variable values before the Access Break halts program execution or executes the Command."
A colleague has MDK 4.20 installed and the != operator does not work for him either (LPC1768). I don't want to start a rant, dear Keil, but this is just unbelievable: it is either I'm doing something fundamentally wrong here or this is in simple terms unconscionable!
I recommend a contact with Keil support.
Hello Per,
Actually I'm waiting for them to contact us for the extension our support contract. How can it be that such a fundamental function simply does not work?
There have been lots of strange magic with Keil releases the last year. Me thinks that the "Keil, an ARM company" have somehow resulted in lots of tasks having been moved to different people. So there have been "Keil, a qualiity-challenged company".
You're right. I mean, it looks like the function discussed above has not been tested for a LONG time (when was 4.14 released? How come it was never fixed? How come that there are issues with breakpoints in recent releases? What is going on there!?). However, Keil products seem to be very hot nowadays - 2 colleagues returned from Embedded World recently and reported a lot of interest. But the conditional breakpoints don't work !!! ;-)
Maybe hot. But not hotter than some customers wondering about implications of getting their code ported to alternative tools.
when a giant buys a midget "cost savings" often get imposed.
At every company that I worked at that got bought layoffs followed the buyout (fortunately I was never included)
Let alone when "absorbtion" is a more precise word. I worked at a place that got "absorbed" and in the end there was 3 of us left of the ~100 the company employed before the absorbtion.
Erik