AnsweredAssumed Answered

Why does my BASEPRI value seem to be incorrect?

Question asked by Stephen Munnings on Feb 6, 2014
Latest reply on Apr 10, 2014 by Carlos_Musich

I am working on a project using the MK22DN512VLK5.

Using CW MCU 10.5 and MQX Lite

In trying to debug an interrupt issue, I am seeing something that is just downright weird!

I am using the Freescale toolchain.

In single-stepping through the _int_disable() code, I am seeing that R3 is 0x00000040 and then the "msr BASEPRI,R3" instruction is executed.

Immediately following that, the BASEPRI register (as seen by the register display in the Debug view) changes from 0x00000000 to 0x00004000  (??)

According to the docs, that means that the instruction updated the reserved area of the register, not the valid area (low order byte)

I think the most reasonable assumption is that the debugging display is showing the contents incorrectly, but I am not sure of this either.

 

Is the display incorrect?

Or is the chip mis-behaving - even more unlikely?

Outcomes