2013-09-23 06:21 PM
I have a project that has a mix of cpp and c files. The symptom is that at certain times, the code gets stuck at the end of the startup_stm32f40xx.s at the ''B'' line.
DCMI_IRQHandler
CRYP_IRQHandler
HASH_RNG_IRQHandler
FPU_IRQHandler
B .
I have found a was around this error is to change the way the handlers are exported. I really don't understand what is going on here. Has anyone else seen this behavior before?2013-09-23 06:54 PM
This is the dumping ground for lost interrupts, these are typically WEAK fixup's in the vector table when service code is not provided within your code. In some cases the Hard Fault handle also looks like this too.
So check you're not enabling random interrupts, and that all your IRQHandler's correctly link against the vector table. C++ is particularly problematic because it mangles function names, so you'll need to use ''C'' or cdecl directives. Check your .MAP files for naming issues.