AnsweredAssumed Answered

STM32F407: Program Counter & Stack Pointer Corruption on Reset

Question asked by devine.kieran on Jan 10, 2013
Latest reply on Jan 14, 2013 by devine.kieran
Hi Forum

I am using the STM32F407. My compiler is Keil UVision 4. I am using the ST-Link V2 for programming and debugging. For the last three months I have been using the MCBSTM32F400 for code development and everything has been working 100%. I am now trying to get my custom made hardware to work (using the same processor and firmware). 

I can use Keil to successfully program my application. The ST-Link Utility also works fine. The problem seems to be that the processor is not running the application. I can see that the image has been successfully loaded into flash, however upon reset I can see the program counter and stack pointer are loaded with bogus values. The IPSR register is showing "0x3", which I take to mean a HardFault. I assume the HardFault is causing the Core to go into a "Lockup" state where it is not loading the Program counter and stack pointer with the correct values. Documentation seems to be a bit aspecific on what could cause a HardFault.

I have checked my voltages and my reset lines. The 407 I am using is a Z revision in a UPBGA package, so I don't think the PDR_ON pin is an issue. Can anyone suggest to me what the problem might be? I am sure this is a hardware fault, but I am not sure where to look - like I said I can program and read memory and this firmware works fine.

Outcomes