I am trying to adapt a vendor printf/sprintf/sscanf library, which is not reentrant. I am looking for a way to set a global pointer to a task specific context value each time a task is switched in. So far, I’ve thought of extending the port context structure with another pointer (messy) or using a callback hook to set a global pointer everytime a task switch happens (better). Is there an official way or best way to do something like this? Thanks.
Actually, to be clear, what I want is a user global variable that changes with each task switch to a task-specific value, exactly like how pxCurrentTCB works. Is there a way to do this with FreeRTOS?
Search through the forum for threads that mention newlib as there is a link to a neat way of doing this with the newlib context pointer.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.