[SOLVED] Interrupt-stack switching on RL78 for zero-latency interrupts

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Interrupt-stack switching on RL78 for zero-latency interrupts

    Hello!

    In the RL78 embOS manual it is described that zero-latency interrupts must not execute any embOS function.
    Therefore it is not allowed to call the functions OS_EnterIntStack resp. OS_LeaveIntStack, is that correct?

    This means that all tasks must preserve some space on their stack for the zero-latency interrupts because the switching is not allowed.
    Depending on the zero-latency ISR implementation this can afford large stacks for all tasks... ;(

    Is there any other possibility to switch the stack for zero-latency interrupts?

    Thanks in advance!
    Markus
  • Hi Markus,

    In the RL78 embOS manual it is described that zero-latency interrupts must not execute any embOS function.
    Therefore it is not allowed to call the functions OS_EnterIntStack resp. OS_LeaveIntStack, is that correct?

    Yes, that's correct.

    This means that all tasks must preserve some space on their stack for the zero-latency interrupts because the switching is not allowed.
    Depending on the zero-latency ISR implementation this can afford large stacks for all tasks...

    Unfortunately that's true. Do you really need the zero latency interrupt priority?
    The amount of stack also depends on whether the zero latency interrupts are nested or not.
    If you don't have nested interrupts you'll need less stack space.

    Is there any other possibility to switch the stack for zero-latency interrupts?

    Yes, there might be a workaround for this. I will contact you directly by email for further details.

    Best regards,
    Til