Tuesday, November 21st 2017, 7:00am UTC+1

You are not logged in.

  • Login
  • Register

markusBie

Beginner

Date of registration: Nov 3rd 2017

Posts: 1

1

Friday, November 3rd 2017, 11:29am

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

SEGGER - Til

Super Moderator

Date of registration: Nov 14th 2007

Posts: 261

2

Friday, November 3rd 2017, 11:56am

Hi Markus,

Quoted

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.

Quoted

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.

Quoted

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