Question.3
A developer constructs a Timer object in a byte buffer without alignment:
uint8_t buf[sizeof(Timer)]; // No alignas! Timer* t = new (buf) Timer();
What can go wrong on ARM Cortex-M0?
Select Answer
Nothing -- byte arrays are always properly aligned
The Timer may be misaligned -- accessing uint32_t members can cause a hard fault on Cortex-M0
uint32_t
Works but runs slower due to alignment penalty
The compiler automatically aligns the buffer