Sep 10, 2019
10:41 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 10, 2019
10:41 PM
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
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
- Tags:
- IFX
6 Replies
Sep 11, 2019
01:57 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 11, 2019
01:57 AM
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
Sep 11, 2019
02:03 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 11, 2019
02:03 AM
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
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
Sep 11, 2019
02:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 11, 2019
02:40 AM
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
Nov 13, 2019
02:49 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 13, 2019
02:49 AM
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.
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.
Nov 17, 2019
09:54 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 17, 2019
09:54 PM
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
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
Jan 30, 2020
10:10 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 30, 2020
10:10 PM
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.
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.
This widget could not be displayed.