Use of Multiple Linker Scripts in S32K358 project

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Use of Multiple Linker Scripts in S32K358 project

Jump to solution
466 Views

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 Kudos
Reply
1 Solution
448 Views
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

View solution in original post

0 Kudos
Reply
2 Replies
449 Views
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 Kudos
Reply
423 Views

Hi @VaneB 

Thank you so much for your valuable input.

0 Kudos
Reply