On the AVR XMEGA, or any AVR, is it safe to do pointer operations, like passing by reference and accessing pointers while interrupts are on? I keep feeling like I need to wrap each pointer operation into an ATOMIC_BLOCK() macro. Is this necessary? Also, I need to copy a structure with like 30 bytes of data, should this be in an ATOMIC_BLOCK()?
The AVR address bus is 16 bits, and takes two cycles to access a pointer, correct?