Hi all,
I created a new project in S32DS with the wizard of the new application project:
Looking at initially created code, its quite different to the code of the (RTD) examples:
Application project:
Example project:
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
Solved! Go to Solution.
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:
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
Could you share the steps you follow to create your application project? Also, which version of RTD are you using?
B.R.
VaneB
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:
Results in:
with
__RAM_INTERRUPT_START
not being defined.
Thanks
Andreas
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.
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:
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
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!