Re: RTX-51 Full reentrant stack problem



"Bruce" <sourcebug@xxxxxxxxx> wrote in message
news:1146078213.001717.90240@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Has anyone had a problem with the RTX-51 reentrant stack? I am using
the "compact reentrant" declaration for my reentrant functions. The
stack is located in PDATA (< 0x100), yet during a task switch,
RTX-51thinks the stack is located near the task control block in XDATA
and is not saved or restored.

Any help would be appreciated.


Reentrant stack is managed by RTX51 - that is, each task has it's own
reentrant stack
space located inside XDATA ram page allocated to each stack it by RTX51. The
size
of that page is 256 bytes and it serves as both reentrant stack (if used)
and context save
space. When the context changes, RTX51 manages reentrant stack pointer to
point
to the corresponding area. That allows quick context change, as the stack
does not have
to be saved/copied, which is not the case with the internal hardware stack.

regards

Dejan


.



Relevant Pages

  • RTX-51 Full reentrant stack problem
    ... Has anyone had a problem with the RTX-51 reentrant stack? ... RTX-51thinks the stack is located near the task control block in XDATA ...
    (comp.arch.embedded)
  • Re: Help Constructing Fictional Cross-Religious Movement
    ... >>>This is an area in which the more sophisticated programmer learns to ... >>>distinguish between reentrant code and serially reusable code. ... stupid to access variables on a stack ... ...
    (rec.arts.sf.composition)