AnsweredAssumed Answered

ADR instruction

Question asked by Ian Benton on Jul 6, 2020
Latest reply on Jul 14, 2020 by Con Verse

I have just upgraded to MCUXpresso 11.1 and all the addresses calculated by the ADR instruction are now messed up.

See screenshots. . . (the software is for an LPC15xx)

Previously, the name of the label required "+1" after it to make sure that it set bit 0 in the destination address for Thumb mode. 

Now it seems fairly random whether it does or doesn't. I thought it was something to do with the presence or absence of ".thumb_func", but that doesn't seem to make much difference either.

A simple workaround would be to use "|1" (OR 1) to set bit zero, but that gives an error every time saying that the parameters are wrong for the instruction.

Using the LDR instruction instead appears to work, but changing it throughout the code isn't so simple as the "=" has to be added before the name of the label.

Has anyone else noted this?

A further point, 11.1 seems to get out of sync with the program very easily and refuse to get itself realigned.

Even clicking "debug" doesn't seem always to rewrite the flash, and it appears to do the "attach" procedure instead