I’ve enabled FreeRTOS’s support for a MPU (LPC1788). My application, however, needs to _move_ lots of data - log data, screen shots, etc. With a MPU in place, this becomes a difficult or at least - expensive in terms of computation power, as the only way to move data is via kernel provisions (queue…) and signals.
Is there a useful way to share data between tasks? I thought about programming the MPU on the fly so that one of the regions is setup as R/O to allow some access, but what do I do if I need to write (for example, if a task needs to write data to a TX buffer which is located outside of its regions reach…). Having a task per function can cause serious traffic congestion…