OSA can only be built with the following compilers:
Other compilers are not yet supported.
This means that you defined old-style constants for allocating OSA variables in file OSAcfg.h. New-style names are prefixed by "OS_BANK_". See configuration.
You define one or more OS_BANK_xxx constants in OSAcfg.h with incorrect value(s). Allowed values are 0, 1, 2 and 3 only.
This means that you defined an old-style constant. OST_TIMER is no longer supported. In older OSA versions this constant could be used to redefine type of timers, where type was given directly (e.g. char, unsigned long). Now you can redefine the timer's type by setting its size. For example:
#define OS_TIMER_SIZE 4 // Timer's type will be unsigned long
Since OSA version 90200, types of OST_MSG and OST_SMSG can be redefined only via the new constants OS_MSG_TYPE and OS_SMSG_TYPE. The reason is below:
OST_MSG was defined as:
#define OST_MSG void *
When you define several variables of this type:
OST_MSG msg1, msg2, msg3;
the compiler makes the substitution:
void * msg1, msg2, msg3;
As you see, only msg1 will be pointer to void, while msg2 and msg3 will be just void.
This situation could be corrected by replacing the type definition by:
typedef void * OST_MSG;
But in this case the user can't redefine this type. For this reason, the type of MSG is not redefined in OSAcfg.h directly, but through a constant:
#define OS_MSG_TYPE int *
and then OST_MSG is defined in osa.h:
typedef OS_MSG_TYPE OST_MSG;
You entered an incorrect size for variables of counting semaphore type. Allowed values:
You entered an incorrect size for timer variables. Allowed values: