@Kijewski I see your point concerning padding on the other side I don't see where the compiler should add any padding in ```ASM_struct```. All members are ```uint32_t``` and the bit fields define unnamed ranges to fill 32 bits themselves. So "padding" is already handled in the definition of the bit fields and the structure gets aligned properly. 

But you are right concerning ```__attribute__ ((__packed__))``` because it wouldn't get propagated to the outer structure.