typedef struct
{
volatile unsigned char data __attribute__((packed));
volatile unsigned char _xxx __attribute__((packed));
} high __attribute((packed));
Replace with
typedef struct
{
volatile unsigned char data;
volatile unsigned char _xxx;
} __attribute__((packed)) high ;
and it should work.
Jesper