Your structures that "map" to register space are not packed. It is probably ok for uint32_t filled structures, but other sizes might get padded.
Your structures that "map" to register space are not packed. It is probably ok for uint32_t filled structures, but other sizes might get padded.