XGATE compiler by default word aligns all struct members with sizeof() > 1. So you need to either insert "uint8_t dummy;" below or above unpaired acRequest , or in HC12 sources, which include GlobalsShared.h use pragma align like this

#pragma align on

#include "GlobalsShared.h"

#pragma align off

This will resolve different object size message. And to resolve "object defined twice", you need to insert extern keyword above your struct in *.h file.

XGATE compiler by default word aligns all struct members with sizeof() > 1. So you need to either insert "uint8_t dummy;" below or above unpaired acRequest , or in HC12 sources, which include GlobalsShared.h use pragma align like this

#pragma align on

#include "GlobalsShared.h"

#pragma align off

This will resolve different object size message. And to resolve "object defined twice", you need to insert extern keyword above your struct in *.h file.