S32K3xx: S32DS created "Application Project" incompatible with RTD

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

S32K3xx: S32DS created "Application Project" incompatible with RTD

Jump to solution
989 Views
AndreasStolze
Contributor IV

Hi all,

I created a new project in S32DS with the wizard of the new application project:

AndreasStolze_0-1701348154175.png

Looking at initially created code, its quite different to the code of the (RTD) examples:

Application project:

AndreasStolze_1-1701348204269.png

Example project:

AndreasStolze_2-1701348246848.png

 

Basically it looks good, with the boot settings being there and so on. However, when integrating the RTD, issues arise.
When looking at IntCtrl_Ip.c the following is referenced:

extern uint32 __RAM_INTERRUPT_START[1U];

The linker cannot find this in the "application project" as it does not exist.
In the example, this is defined within the assembler file "startup_cm7.s"

What's the reasoning behind this? Why is the startup code different between the application project and the examples? (And thus the application project being incompatible with RTD?)

Thanks
Andreas

0 Kudos
Reply
1 Solution
773 Views
AndreasStolze
Contributor IV

Hi @VaneB 

thanks for the reply and sorry for the delay.

My goal was to create a C++ project, but as you said, you cannot create a C++ project as it not compatible with the RTD.

Workaround: Create a standard C project with the RTD and convert it to a C++ project:

AndreasStolze_1-1705330006397.png

 

Just make sure to activate the "-nostartfiles" option in the C++ linker as have our own startup code.
Also don't forget to add your linker file to the "C++ Linker" section.

BR

Andreas

 

View solution in original post

0 Kudos
Reply
5 Replies
971 Views
VaneB
NXP TechSupport
NXP TechSupport

Hi @AndreasStolze 

Could you share the steps you follow to create your application project? Also, which version of RTD are you using? 

 

B.R.

VaneB

0 Kudos
Reply
932 Views
AndreasStolze
Contributor IV

Hi VaneB,

thank you for you reply.

I am using S32DS 3.5.6 with S32K3-Real-Time-Drivers-AUTOSAR-R21-11-3.0.0-P07.

The steps are easy:

AndreasStolze_0-1701782645106.png

 

AndreasStolze_1-1701782653064.png

 

AndreasStolze_2-1701782659057.png

 

Results in:

AndreasStolze_3-1701782664996.png

with

__RAM_INTERRUPT_START

not being defined.

Thanks
Andreas

0 Kudos
Reply
920 Views
VaneB
NXP TechSupport
NXP TechSupport

Hi @AndreasStolze 

The Startup code differs from the examples because you do not create the project using the RTDs. Please select the desired RTD version that says "SDK" when creating your project. 

 

0 Kudos
Reply
774 Views
AndreasStolze
Contributor IV

Hi @VaneB 

thanks for the reply and sorry for the delay.

My goal was to create a C++ project, but as you said, you cannot create a C++ project as it not compatible with the RTD.

Workaround: Create a standard C project with the RTD and convert it to a C++ project:

AndreasStolze_1-1705330006397.png

 

Just make sure to activate the "-nostartfiles" option in the C++ linker as have our own startup code.
Also don't forget to add your linker file to the "C++ Linker" section.

BR

Andreas

 

0 Kudos
Reply
739 Views
RBSamuel
Contributor III

Hi Andreas!

Have you managed to make it work? I tried to follow the same steps: I create a project in C with SDK, then I convert it to C++ and enable the option "-nostartfiles", but I get some errors.


Thank you!

0 Kudos
Reply