RE: PB 5.0 and SH4 default struct alignment



I just sorted it out with my E10A-USB. It's byte aligning structs. So the
following works when referencing the peripheral's base address.


typedef struct
{
VUINT16_T SCSMR; // Serial Mode
VUINT16_T RSVD1;

VUINT8_T SCBRR; // Bit Rate
VUINT8_T RSVD2;
VUINT16_T RSVD3;

VUINT16_T SCSCR; // Serial Control
VUINT16_T RSVD4;

VUINT8_T SCFTDR; // Transmit FIFO Data register
VUINT8_T RSVD5;
VUINT16_T RSVD6;

VUINT16_T SCFSR; // Serial Status
VUINT16_T RSVD7;

VUINT8_T SCFRDR; // Receive FIFO Data register
VUINT8_T RSVD8;
VUINT16_T RSVD9;

VUINT16_T SCFCR; // FIFO Control
VUINT16_T RSVD10;

VUINT16_T SCTFDR; // Transmit FIFO data count
VUINT16_T RSVD11;

VUINT16_T SCRFDR; // Receive FIFO data count
VUINT16_T RSVD12;

VUINT16_T SCSPTR; // Serial Port register
VUINT16_T RSVD13;

VUINT16_T SCLSR; // Line Status
VUINT16_T RSVD14;

VUINT16_T SCRER; // Error register

} SCIF_REG_T, *PSCIF_REG_T;

.


Loading