I am working on cortex M4 (STM32F407) with ucOSII, now I have found low probability that enter the hard fault exception, in the hard fault hanler we can get the PSP address (task stack) , but the LR/PC value stored in the stack are 0xFFFFFFFF.
typedef struct{ UINT32 R0; UINT32 R1; UINT32 R2; UINT32 R3; UINT32 R12; UINT32 LR; UINT32 PC; UINT32 IPSR; }STACK_DATA_TYPE;