So, if I have a volatile variable (say a uint32_t), can I safely access it at any time and asynchronously from either core without taking any special precautions?
I assume that anything bigger than a 32-bit variable would be non-atomic and require some type of mutual exclusion.