Error while building the code from the TC234 Motor Control Kit

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

cross mob
User17934
Level 1
Level 1
Hello,

I am using a Motor Control kit with the AURIX TC234 and I downloaded the software from myInfineon.com.
When i build the Code in eclipse i always get the same error:

ltc E821: [".\1_ToolEnv\0_Build\1_Config\Lcf_Tasking.lsl" 194/15] LSL unexpected error: could not find heap section heap
make[1]: Leaving directory `C:/…/.../WorkspaceFolder/BaseFramework_Tc27xB_eMotor_1v31_HW21_Enc_V3'
ltc F019: unrecoverable error: fatal locate error
make[1]: *** [2_Out/Tasking/BaseFramework_Tc27xB_eMotor_1v31_HW21_Enc_V3_Tricore.elf] Error 2
make: *** [build] Error 2

i am using the TASKING Compiler Version 6.3r1.


Thanks for helping.
Jerome Gossmann
0 Likes
6 Replies
User13290
Level 5
Level 5
First like received First solution authored

Hi Jerome,

Did you check Lcf_Tasking.lsl? The error is thrown for line 194, but I'd search the entire file for the heap keyword. Maybe, for whatever reason, the heap definition is indeed missing. Chapter 17.8.3 of the TASKING user manual explains how to create such a section yourself. What you can also do is take a peek into any of the system LSL files listed in include.lsl (within your toolchain) and see how its done in there.

Best regards,

Henk-Piet Glas

Principal Technical Specialist
Embedded Software

0 Likes
User17934
Level 1
Level 1
Hi Henk-Piet,

this is the code section I found that includes the heap in tasking.lcl:

#define LCF_HEAP_SIZE 2k

#define LCF_CPU0 0

#define LCF_DEFAULT_HOST LCF_CPU0

#define LCF_DSPR0_START 0x70000000
#define LCF_DSPR0_SIZE 184k

#define LCF_CSA0_OFFSET (LCF_DSPR0_SIZE - 1k - LCF_CSA0_SIZE)
#define LCF_ISTACK0_OFFSET (LCF_CSA0_OFFSET - 256 - LCF_ISTACK0_SIZE)
#define LCF_USTACK0_OFFSET (LCF_ISTACK0_OFFSET - 256 - LCF_USTACK0_SIZE)

#define LCF_HEAP0_OFFSET (LCF_USTACK0_OFFSET - LCF_HEAP_SIZE)

/*Heap sections*/
# if LCF_DEFAULT_HOST == LCF_CPU0
group (ordered, align = 4, run_addr = mem:dsram0[LCF_HEAP0_OFFSET])
# endif
{
heap "heap" (size = LCF_HEAP_SIZE);
}

Is this a proper definition for a heap section?

Thanks.
Jerome
0 Likes
User13290
Level 5
Level 5
First like received First solution authored

Hi Jerome,

Looks OK to me. You still need to figure out where to position it into Lcf_Tasking.lsl. What you can do is perhaps take a regular BIFACES base project and drill down until you find one of its Lcf_Tasking.lsl files. Maybe those do contain a proper heap definition and it might simplify things integrating it into your engine project. Mind you, I'm not saying you should replace yours. I'm saying you can use a base project as a template to figure out how it's done.

Best regards,

Henk-Piet Glas

Principal Technical Specialist
Embedded Software

0 Likes
User18414
Level 1
Level 1
Hi all,

Sorry to ride up an old topic but I have exactly the same problem. I try to use a Tricore compilation toolchain on a new computer and to migrate some of my projects from SWFramework or BIFACES to TASKING.
I precise that all these projects worked fine on my old computer (but i had a TASKING Compiler Version 6.2r2).

Today, I am using the TASKING Compiler Version 6.3r1 on my new computer.

All compilations are working until the critical error "LSL unexpected error: could not find heap section heap". (no matter if SWFramework, Bifaces or Tasking is used, the problem appears in each software)

Furthermore I follow the advice of Henk-Piet Glas to take a regular BIFACES base project and the problem is the same. Compilation is OK until this LSL error:

Building output 2_Out/Tricore_Tasking/BaseFramework_TC29B_Tc.elf
ltc E821: [".\1_ToolEnv\0_Build\1_Config\Config_Tricore_Tasking\Lcf_Tasking_Tricore_Tc.lsl" 394/9] LSL unexpected error: could not find heap section heap
ltc F019: unrecoverable error: fatal locate error

JeromeG, did you find an appropriate solution to solve this problem ? Did you remember two months after this solution please ? 🙂

Thank you in advance for your reply.
Best regards
Jérôme B.
0 Likes
User17934
Level 1
Level 1
Hi,

I commented the section out where the heap is referenced. This worked for me. I could not get it to work with the heap.

JeromeG
0 Likes
Funmix
Employee
Employee
5 sign-ins 25 replies posted 10 replies posted
Hello,

Intiially I was facing the same issue.

I did comparison between IFX baseframework (*.lsl) file vs eMotorKit (*.lsl) file.

I noticed some modification has been done. Please refer to attached photo.


Just sharing, hope it helps.

4006.attach
0 Likes