Use of Multiple Linker Scripts in S32K358 project

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Use of Multiple Linker Scripts in S32K358 project

跳至解决方案
459 次查看
sathishkumar_sunmugavel
Contributor IV

Hi Team,

In my FreeRTOS SMP project for the S32K358 (RTD 5.0.0), I see multiple linker scripts generated:

sathishkumar_sunmugavel_0-1750237484162.png

I understand which one is used based on the build settings,

sathishkumar_sunmugavel_1-1750237533567.png

 

but could you please clarify why all these scripts are generated and the specific purpose of each?

Best Regards,
Sathish Kumar

0 项奖励
回复
1 解答
441 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @sathishkumar_sunmugavel 

When creating a project for a multicore device in S32DS using Real-Time Drivers (RTDs), the tool automatically generates a separate project for each core. Each project includes its own linker file, which defines memory regions specific to that core.

For Core 0, S32DS generates two linker files by default:

  • The first (linker_c0_S32k358) is a core-specific linker, intended for multicore development.
  • The second (linker_S32K358) is a simplified linker, intended for single-core applications or early-stage development. It consolidates memory regions into a more unified layout, making it easier to manage and understand.

You can verify which linker file is currently in use by navigating to the Project Properties → C/C++ Build → Settings → Standard S32DS C Linker → General.

In most cases, the additional linker file is not required. For simplicity and to avoid confusion, it is recommended to use only the primary linker file unless your application has specific needs.

 

BR, VaneB

在原帖中查看解决方案

0 项奖励
回复
2 回复数
442 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @sathishkumar_sunmugavel 

When creating a project for a multicore device in S32DS using Real-Time Drivers (RTDs), the tool automatically generates a separate project for each core. Each project includes its own linker file, which defines memory regions specific to that core.

For Core 0, S32DS generates two linker files by default:

  • The first (linker_c0_S32k358) is a core-specific linker, intended for multicore development.
  • The second (linker_S32K358) is a simplified linker, intended for single-core applications or early-stage development. It consolidates memory regions into a more unified layout, making it easier to manage and understand.

You can verify which linker file is currently in use by navigating to the Project Properties → C/C++ Build → Settings → Standard S32DS C Linker → General.

In most cases, the additional linker file is not required. For simplicity and to avoid confusion, it is recommended to use only the primary linker file unless your application has specific needs.

 

BR, VaneB

0 项奖励
回复
416 次查看
sathishkumar_sunmugavel
Contributor IV

Hi @VaneB 

Thank you so much for your valuable input.

0 项奖励
回复