As described in the manual, all registers must be handled with 32 bit accesses.
However, is this only relevant to bitfield accesses (e.g. ECanaRegs.CANMCR.CCR)? If so, are read-modify-write operations (such as ECanaRegs.CANME.all &= ~(1 << mbox_num)) OK?