Skip to main content
dibs
Associate III
September 24, 2013
Question

stm32f4xx multiple

  • September 24, 2013
  • 1 reply
  • 546 views
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?
    This topic has been closed for replies.

    1 reply

    Tesla DeLorean
    Guru
    September 24, 2013
    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..