Hello Ron,
theoretically if a build tools comply with EABI (Embedded Application Binary interface) it should be possible to combine the object codes together. Anyway I'm aware of some differences e.g. VLE relocation types which may differ between vendors.
In case of Flash Drivers - this is not an object code format but in a pure binary format (see example below). The linker just merge the code/const and place it into the appropriate section.
I noticed that there are some pointers to structs used in API. If there is a common alignment in struct definitions it should be fine to use e.g. CodeWarrior version of Flash Drivers in S32DS/GCC.
const unsigned long BlankCheck_C[] =
{
0x182106D0, 0x00801B01, 0x0910DD01, 0x016D017C, 0x030B480F,
0x014E7C80, 0x2B780158, 0x1800C803, 0xE603481F, 0xE8232A05,
0xE2054800, 0x54080004, 0xE81D74A0, 0xF0BF4DA9, 0x1880A85A,
0x480A7C19, 0x005E0D0A, 0xE00DC09E, 0x1819ACFF, 0xE606D0ED,
0x4A0FC00E, 0xD00CE80A, 0x203E200A, 0xE8F36C20, 0xD0EB0780,
0xD3DBD10B, 0xD4CB3003, 0x003C2A00, 0xE60701F3, 0x1800D000,
0x00001800, 0xD00001F3, 0xCD011B01, 0x08100090, 0x18218030,
0x00044D50, 0x43353542, 0x43313130
};
Hope it helps.
Stan