Sorry, I have to protest here... Cortex M4/M7 controllers are the
state-of-the-art embedded ARM processors, but they of course can NOT
do misaligned accesses - they would IMMEDIATLY run into some hardware
fault ... (at least they do THIS, so you can somehow track quite
easily where it happened).
I was more thinking of Cortex A family processors, which you find a lot in larger embedded systems with fancier user interfaces. They can do unaligned accesses. Cortex M does not AFAIK. It depends on what you call embedded, a machine with a control panel that sports a Cortex A family processor is still an embedded system.
The products I'm working on use Cortex M family processors for real time control, and Cortex A family processors to provide the operator with a touch user interface, implement network interfaces, etc.
Compilers for ARM define a macro that code can use to detect support for unaligned accesses, it's __ARM_FEATURE_UNALIGNED. Very useful when you're writing code implementing cryptographic primitives or other performance critical code.