I am looking at FreeRTOS for an 8051 device. I was wondering how the task switch handles the stack. As I understand things the 8051 stack is limited to a single 256 byte memory space and so on a task switch everything has to copied out to / in from XDATA. That does not strike me as optimal (but hardly the OS’s fault) and so are there some clever solutions FreeRTOS uses to get around it? Maybe it requires a modified 8051 that can map in XDATA to the stack space or something? Any advice and insight would be greatly appreciated.