Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
FranciscaGS
Level 1
Level 1
First like received 5 replies posted 10 sign-ins

Hello all.

I am working in a project based on a TC38xx Aurix processor and using as compiler the HighTec GNU C-compiler. The unit test framework chosen is Tessy. To generate a test driver the startup code for the embedded microcontroller is 
required by Tessy.

Tessy can use the object files for the startup code generated in the target development project or compile the sources for the startup code. Also the linker file is required.

I have installed the Aurix Development Studio. I have downloaded and built the project https://github.com/Infineon/AURIX_code_examples/tree/master/code_examples/Multicore_1_KIT_TC387_TFT.

 

  • I assume the startup code files are cstart.c, cstart_tcx.c and sync_on_halt.c. Is this correct? Where can I find these files for the TC38xx? 
  • Within the example project from the Infineon Git Hub I can find a sync_on_halt file in the debug folder but no cstart. Instead there are Ifx_Ssw_Tcx.c files in the Infra library which are described as startup code. Are these Ifx_Ssw_Tcx.c plus the sync_on_halt the startup files I would need for the test driver for the processor TC38x/HighTec compiler configuration? In the Aurix Development Studio I see Debug(TASKING) so I understand the compiler there used is from Tasking. Does the ADS need a board support library to be linked while the rest of the startup code?
  • For the moment we would only need the Core0 active. Would it then be enough to have the files related to core0? How could the other cores be disabled? Is there any compiler option for that?
  • For the linker file I have selected in the ADS the Lcf_Gnuc_Tricore_Tc.lsl.

Another point to take into account is that Tessy does not support Watchdog or Interrupts so both must be disabled. How can I do this in the ADS project?

Thanks in advance for your comments.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @FranciscaGS 
Please refer to the attachment to establish the environment based on the AURIX Development Studio + HighTec GCC toolchain.
BR,
Jeremy

View solution in original post

0 Likes
5 Replies
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @FranciscaGS 
1) The Ifx_Ssw_Tc0.c is startup file for the Core0, the Ifx_Ssw_Tc.c is for the Core1, and so on.

2023-09-20_11h27_55.png
2) Does the ADS need a board support library to be linked while the rest of the startup code?
-- The ADS supports configuring an external GCC toolchain, it also supports debugging the project which is compiled by the external GCC toolchain.

2023-09-20_13h59_07.png
3) For the moment we would only need the Core0 active. Would it then be enough to have the files related to core0? How could the other cores be disabled? Is there any compiler option for that?
-- It's unnecessary to do additional action actually.
BR,
Jeremy

0 Likes
FranciscaGS
Level 1
Level 1
First like received 5 replies posted 10 sign-ins

Hi @Jeremy_Z,

thanks for your answer. I am trying to compile now  Ifx_Ssw_Tc0.c within Tessy. I have some errors but I think they are related to the compiler version I am using in Tessy because apparently in ADS the build is complete without errors even when configuring an external GCC Toolchain.


On the other hand, I have seen the the Watchdogs are already disabled in the code. In order to disable the interrupts as Tessy requires, I should just add a call to  IfxCpu_disableInterrupts();  in Ifx_Ssw_Tc0.c, right?

 

Thanks again and regards

Francisca

0 Likes
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @FranciscaGS 
1) In order to disable the interrupts as Tessy requires, I should just add a call to IfxCpu_disableInterrupts(); in Ifx_Ssw_Tc0.c, right?
-- I'd like to suggest execute the IfxCpu_disableInterrupts() at first aftering jumping to the main(), instead of adding IfxCpu_disableInterrupts(); in Ifx_Ssw_Tc0.c.
Hope it helps.
BR,
Jeremy

0 Likes
FranciscaGS
Level 1
Level 1
First like received 5 replies posted 10 sign-ins

Hi Jeremy.

Thanks for your answer.

I have checked and updated the external GCC Toolchain. The compilation fails.

FranciscaGS_0-1695730863649.png

It seems the license for the compiler is not being reached. Where shall I update this in the ADS settings.
Thanks again

BR,

Francisca

 

0 Likes
lock attach
Attachments are accessible only for community members.
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @FranciscaGS 
Please refer to the attachment to establish the environment based on the AURIX Development Studio + HighTec GCC toolchain.
BR,
Jeremy

0 Likes