cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f4xx multiple

dibs
Associate II
Posted on September 24, 2013 at 03:21

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?
1 REPLY 1
Posted on September 24, 2013 at 03:54

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.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..