If task A reads/writes from/to IOs and the scheduler switchs it to a higher priority task B which doesn't touch any IOs task used. Do they keep their state in general? There is no any kind of reset action during the context saving/switching, right? I assume task A doesn't have critical sections or has finished its critial sections.
And further, task B can do anything she wants to the IOs until task B is out?
FreeRTOS itself will know nothing about the I/Os and tasks can do what every they want to them. Unless you write code in the trace macros, or modify the files in some way, I/O ports will have no idea of what task is runing, so a task switch won't affect the I/Os.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.