Banner_AURIX_Security-Solution Banner_AURIX_Security-Solution Banner_AURIX_Security-Solution Banner_AURIX_Security-Solution


infineon4engineers Facebook

infineon@google+ Google+

infineon@linkedin linkedin

infineon4engi@twitter twitter

infineon@youtube youtube

+ Reply to Thread
Results 1 to 4 of 4

Thread: Error while building the code from the TC234 Motor Control Kit

  1. #1
    Beginner Beginner JeromeG is on a distinguished road
    Join Date
    Sep 2019
    Posts
    4
    Points
    55

    Error while building the code from the TC234 Motor Control Kit

    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_Trico re.elf] Error 2
    make: *** [build] Error 2

    i am using the TASKING Compiler Version 6.3r1.


    Thanks for helping.
    Jerome Gossmann

  2. #2
    Advanced Advanced HIGHTEC.henk-piet.glas is on a distinguished road
    Join Date
    May 2017
    Posts
    122
    Points
    2407.5

    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

  3. #3
    Beginner Beginner JeromeG is on a distinguished road
    Join Date
    Sep 2019
    Posts
    4
    Points
    55
    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

  4. #4
    Advanced Advanced HIGHTEC.henk-piet.glas is on a distinguished road
    Join Date
    May 2017
    Posts
    122
    Points
    2407.5

    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

+ Reply to Thread
Disclaimer

All content and materials on this site are provided “as is“. Infineon makes no warranties or representations with regard to this content and these materials of any kind, whether express or implied, including without limitation, warranties or representations of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, whether express or implied, is granted by Infineon. Use of the information on this site may require a license from a third party, or a license from Infineon.


Infineon accepts no liability for the content and materials on this site being accurate, complete or up- to-date or for the contents of external links. Infineon distances itself expressly from the contents of the linked pages, over the structure of which Infineon has no control.


Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Usage Terms of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Usage Terms of this site. Infineon reserves the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.