I am using LPCxpresso with an LPC1769 and Crossworks with the NXP LPC1000 CPU Support Package and CMSIS.
There is a hard fault exception that causes some headache to me.
The address where that hard fault comes up seems to be always the same, but it changes if some prior code is deleted.
I.e. the code at that acual address does not seem to be the reason for that exception.
To get a bit closer to the problem, I put some code to the hard fault handler and let it print some registers.
The result is this:
HFSR tells mit that there is a "forced hard fault" and CRSR indicates an "illegal use of EPSR" and "the PC value stacked for the exception return points to the instruction that attempted the illegal use of EPSR".
As CONTROL equal 0, SP_main is the actual stack pointer.
SP == SP_main == 0x10001a84
SP points to a value of 0xd015429a.
0xd015429a is not a valid address for LPC1769.
But how does that help me to solve the problem?
Does anybody have an advice?
Please sign in to leave a comment.