Hi,
I found the root cause of your problem. You have to place the declaration of the variables to the pragma. So delete the pragma from file SPIR_Interface.c and place it to SPIR_Interface.h
In SPIR_Interface C will be following code:
uint16_t VaSPIR_Cnt_CellVolt[360];
uint16_t VaSPIR_Cnt_CellVoltPEC[120];
uint16_t VeSPIR_Cnt_StrVolt;
uint8_t VeSPIR_Cnt_StrVoltSt;
uint16_t VeSPIR_Cnt_LinkVolt;
uint8_t VeSPIR_Cnt_LinkVoltSt;
and in SPIR_Interface.h will be:
#pragma push
#pragma section all_types ".__my_ram" ".__my_ram" data_mode=far_abs code_mode=far_abs
extern uint16_t VaSPIR_Cnt_CellVolt[360];
extern uint16_t VaSPIR_Cnt_CellVoltPEC[120];
extern uint16_t VeSPIR_Cnt_StrVolt;
extern uint8_t VeSPIR_Cnt_StrVoltSt;
extern uint16_t VeSPIR_Cnt_LinkVolt;
extern uint8_t VeSPIR_Cnt_LinkVoltSt;
#pragma pop
Regards,
Martin