It is inescapable. I changed microcontroller supplier, and all I got was another version of Eclipse. Almost familiar, but different enough to be annoying.Your world of microcontrollers is dominated by Eclipse.![]()
I can use #pragma to force it to use misaligned uint16_t and uint32_t but I’m not entirely sure that it works the same way every time.It'sjust a warning that GNU (and every other compiler designed for embedded applications) compilers have padding and packing #pragma and attributes to handle “implementation dependent” behaviours (for speed in access and addressing) even in the same family of processors.
Padding becomes critical with things like memory mapped interfaces where you can have various variable types (and byte sizes) and needed alignments in the same set of structures.
http://www.catb.org/esr/structure-packing/