We need a simple lock that when possible uses the constructs into std::atmoic or whatever else the board supports. Whatever that is must include some degree of memory guarantees when there is caching of memory.
My thoughts are to repurpose the existing support using the existing atomic boolean support to create the lock. On single core bare-metal this will be of either limited or zero use, it is intended to help with a simple locking system between two threads/cores.
It will not run tasks while it is waiting, this is what made the other implementation very unreliable.
We need a simple lock that when possible uses the constructs into std::atmoic or whatever else the board supports. Whatever that is must include some degree of memory guarantees when there is caching of memory.
My thoughts are to repurpose the existing support using the existing atomic boolean support to create the lock. On single core bare-metal this will be of either limited or zero use, it is intended to help with a simple locking system between two threads/cores.
It will not run tasks while it is waiting, this is what made the other implementation very unreliable.