processor expert events.c

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

processor expert events.c

Jump to solution
882 Views
dougpaulsen
Contributor IV

Greetings:

I'm using CW10.4 with Processor Expert and have questions regarding the way Processor Expert sets up interrupt functions in the generated module Events.c.  The automated setup works, but I don't see any function declarations of __interrupt void functionname(void), or the macro ISR(functionname).  The module Events.c has various xxxx_OnInterrupt() functions and those are properly referenced in the vector table, and they seem to work.  But shouldn't those functions which handle interrupts be declared as such?  I'm surprised Processor Expert doesn't do this since it seems to set up the interrupts and their ISRs otherwise.  Am I supposed to add the ISR declarations manually, or does the system somehow otherwise identify these functions as ISRs?  If I do manually declare the Events.c xxx_OnInterrupt() functions as such, the next time Processor Expert generates code, I creates wholly new ISRs - again with plain ol' vanilla void functionname(void) declarations.  Curious.... 

Thanks for any info

doug

Tags (1)
1 Solution
767 Views
dougpaulsen
Contributor IV

OK!  I figured it out.  

The addresses in the vector table are those of properly ISR-identified functions in various functions located the "Generated_Code" project directory.  Those functions in turn reference generic functions located in the Events.c module placed in the "Sources" directory.  Because of the code organization, my code happens to need to call additional function(s) from there, all of which is wholly confusing, but the important point is the first landing place after the vector table jump is properly IDed as an ISR.

I'm satisfied with this.  I've still got a critical race problem to deal with, but at least it's not the result of an absence of of ISRs.

Thanks!

doug

View solution in original post

2 Replies
767 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Doug,

Could you tell us which MCU are you using?

Thanks in advance!

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 Kudos
768 Views
dougpaulsen
Contributor IV

OK!  I figured it out.  

The addresses in the vector table are those of properly ISR-identified functions in various functions located the "Generated_Code" project directory.  Those functions in turn reference generic functions located in the Events.c module placed in the "Sources" directory.  Because of the code organization, my code happens to need to call additional function(s) from there, all of which is wholly confusing, but the important point is the first landing place after the vector table jump is properly IDed as an ISR.

I'm satisfied with this.  I've still got a critical race problem to deal with, but at least it's not the result of an absence of of ISRs.

Thanks!

doug