Undefined reference to X_schm_read_msr (S32K1 RTD v2.0.0 QLP1, AUTOSAR 4.4, R21-11)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Undefined reference to X_schm_read_msr (S32K1 RTD v2.0.0 QLP1, AUTOSAR 4.4, R21-11)

1,232件の閲覧回数
M_SCH
Contributor III

Hello,

I have recently migrated to the latest RTD (S32K1_S32M24x Real-Time Drivers ASR R21-11 Version 2.0.0 QLP1) using the S32DS (v3.5.13) IDE.

When I initiated a build of my existing project I received a bunch of Linker error messages that look like

/PATH/to/s32ds.3.5/s32ds/build_tools/gcc_v9.2/gcc-9.2-arm32-eabi/bin/../lib/gcc/arm-none-eabi/9.2.0/../../../../arm-none-eabi/bin/real-ld.exe: ./RTD/src/SchM_Adc.o: in function `SchM_Enter_Adc_ADC_EXCLUSIVE_AREA_00':
/PATH/to/project/Debug_FLASH/../RTD/src/SchM_Adc.c:587: undefined reference to `Adc_schm_read_msr'

for the following RTD drivers:

M_SCH_1-1726211851277.png

When I look inside the SchM_Adc.c file at line 587 as the error message suggests I see that different implementations for the function definition

uint32 Adc_schm_read_msr(void)
{
    /* ... */
}

exist and are guarded by C macros, such as _GCC_C_S32K1XX_ and others. 

I looked at the implementation of a previous RTD version and noticed that the _LINARO_C_S32K1XX_ macro is replaced now by _GCC_C_S32K1XX_. The header file of the current RTD

  • /PATH\to\S32DS.3.5\S32DS\software\PlatformSDK_S32K1_S32M24\RTD\BaseNXP_TS_T40D2M20I0R0\include\CompilerDefinition.h 

also mentions just the _LINARO_C_S32K1XX_ macro and not the _GCC_C_S32K1XX_.

Am I right to suggest that this is a bug in the current RTD version? If not may you suggest how to solve this Linker issue.

 

Best regards

M_SCH

0 件の賞賛
返信
3 返答(返信)

1,181件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @M_SCH,

I have installed S32K1 RTD 2.0.0 QLP1, and I was not able to find the define _GCC_C_S32K1XX_ you are mentioning:

Julin_AragnM_1-1726595067075.png

Julin_AragnM_0-1726595064351.png

I can also see you are using gcc 9.2, which is not the default compiler for RTD 2.0.0. Could you share your installation details?

Is this issue also present when importing the ADC example?

Best regards,
Julián

0 件の賞賛
返信

1,158件の閲覧回数
M_SCH
Contributor III

Hello,

I was able to solve the issue by my own.

To clarify:

I have uninstalled the RTD v2.0.0 P03 package and installed the latest package named QLP1. I checked again and realized that the ConfigTool does not detect a change in the RTD and therefore the RTD library inside the existing project was not updated (file header still indicated P03). I then setup a new project based on the RTD v2.0.0 QLP1 and made the necessary adjustment.

Should the S32DS and ConfigTool be able to detect if another RTD package is installed and notify the developer through ConfigTool that the existing RTD library folder inside an existing project is outdated/ready for update?

 

Best regards,

 

M_SCH

1,154件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @M_SCH,

Currently S32DS does not support more than 1 RTD package for the same product installed. In order to update packages, the previous one must be uninstalled.

Best regards,
Julián

0 件の賞賛
返信