#59 GCC Coretx M3 port improvement

closed
nobody
None
5
2014-12-27
2012-05-23
No

Currenty it is not valid to set configMAX_SYSCALL_INTERRUPT_PRIORITY to 0 (highest prority).
This is because of the way the port masks isr's. ( Using the basepri register, which is disabled with a 0 value ).
The port can be improved with some #if ( configMAX_SYSCALL_INTERRUPT_PRIORITY == 0 ) magic to use different asm in this configuration to instead disable/enable isr's and apropriate exceptions.

Discussion

  • Darren Jenkins

    Darren Jenkins - 2012-05-25

    Thinking about it, perhaps the following would resolve the misconfiguration issue in a more simple fashion:

    #if ( configMAX_SYSCALL_INTERRUPT_PRIORITY == 0 )
    #error This FreeRTOS port does not support configMAX_SYSCALL_INTERRUPT_PRIORITY = 0
    /*
    ** defining configMAX_SYSCALL_INTERRUPT_PRIORITY to 0 (highest priority)
    ** is not valid on this port due to the way interrupt masking is handled
    ** please #define it to 1(or lower), and configure all ISR's that use system services to
    ** this priority and below.
    */
    #endif

    Darren J.

     
  • Richard Barry

    Richard Barry - 2014-12-27
    • status: open --> closed
    • Group: --> Next Release (example)
     
  • Richard Barry

    Richard Barry - 2014-12-27

    This was done some time back.

     

Log in to post a comment.