Context switching through an ISR in RTEMS

Utkarsh Rai utkarsh.rai60 at gmail.com
Wed Aug 12 23:40:56 UTC 2020


Thanks, I'll check them out.

On Thu, Aug 13, 2020 at 12:56 AM Gedare Bloom <gedare at rtems.org> wrote:

> On Wed, Aug 12, 2020 at 11:33 AM Utkarsh Rai <utkarsh.rai60 at gmail.com>
> wrote:
> >
> > Hello,
> > I have been testing my code for thread stack isolation against various
> tests( Some written by me, and remaining already present). One of the
> limitations that I have found is that I encounter fatal errors whenever a
> context switch takes place through an ISR. Can you please explain how the
> context switching procedure works when an interrupt occurs. When I use gdb
> for stepping through the code it asynchronously moves to context switching
> code from the executing thread( for example psx16 test).
> > For thread stack protection,  the part that deals with context switching
> simply 'sets 'the memory entries of the heir stack and 'unsets' that of the
> executing stack.
>
> There are two issues to start: interrupt stacks and dispatching from an
> ISR.
>
> I think you can start by reading some of the documentation:
>
> https://docs.rtems.org/branches/master/c-user/interrupt_manager.html#processing-an-interrupt
>
>
> https://docs.rtems.org/branches/master/c-user/scheduling_concepts.html#dispatching-tasks
>
>
> https://docs.rtems.org/branches/master/c-user/config/general.html#configure-interrupt-stack-size
>
>
> https://docs.rtems.org/branches/master/cpu-supplement/port.html#interrupt-processing
>
> You can also find some material in rtems-docs.git/porting -- I don't
> know where that gets generated.
>
> Continue to ask questions, and writing blog posts.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200813/d83ce821/attachment-0001.html>


More information about the devel mailing list