infineon4engineers Facebook

infineon@google+ Google+

infineon@linkedin linkedin

infineon4engi@twitter twitter

infineon@youtube youtube

+ Reply to Thread
Results 1 to 5 of 5

Thread: TC275 stacksize

  1. #1
    Beginner Beginner jonnyx is on a distinguished road
    Join Date
    Jul 2018
    Posts
    5
    Points
    70

    TC275 stacksize

    I need to increase the size of the stack on my TC275 by some kB.

    How can I do that? I tried to modify the iRAM.ld files as well as the memoryIntCode.x files in my workspace (HighTec Plattform) as well as in the path of the tricore-gcc compiler, i changed the USTACK_SIZE whereever i found it from 4k to 12k for example.
    Nethertheless, my iRAM.ld file always got overwritten during compiling/linking, and the standard 4k had been used.

    Thank you for helping me out.

  2. #2
    Beginner Beginner jonnyx is on a distinguished road
    Join Date
    Jul 2018
    Posts
    5
    Points
    70
    i have got it, i needed to set __STACK_SIZE = 12k; in the iRAM.ld file, BUT inside the /*Protection-Area for your own LDF-Code*/

  3. #3
    Intermediate Intermediate HIGHTEC.henk-piet.glas is on a distinguished road
    Join Date
    May 2017
    Posts
    35
    Points
    562.5
    Hi Jonas,

    Quote Originally Posted by jonnyx View Post
    i have got it, i needed to set __STACK_SIZE = 12k; in the iRAM.ld file, BUT inside the /*Protection-Area for your own LDF-Code*/
    It takes some getting used to, but you're correct that changes/additions need to be inside the protected blocks. Those will not be overwritten when the linker description file is re-generated. By default this happens before each build, but it can be changed on a workspace global scope, using the following steps:
    • Select 'Window | Preferences' MENU
    • Select 'HighTec Preferences | Linker description Model'
    • Untick 'Create linker description file before each build'
    You may wonder what source is being used to generate the linker description file. For that you need to go to the models folder in your project. In here you'll find iROM.lm which is the source from which iROM.ld is generated. If you were to double-click iROM.lm it will launch the model editor and you'll be presented with a high-level model of your linker script that you can tinker with. Mostly there is no need and you can make do with the protected blocks, but sometimes it can be handy though. For example when you want to add a new memory region, or change an existing one. As there are no protected blocks for these, you'll have to do it from here. Also note that the stack size can be changed from here. I'll inline a snapshot for that.

    Click image for larger version

Name:	capture_001_26072018_040234.png
Views:	0
Size:	27.0 KB
ID:	3546

    Best regards,

    Henk-Piet Glas
    Principal Technical Specialist

  4. #4
    Beginner Beginner jonnyx is on a distinguished road
    Join Date
    Jul 2018
    Posts
    5
    Points
    70
    Thank you, that is exaclty what I was wondering about. I did actually look at the iRAM.lm file but must have overseen the memory reservation part... Thank you!

  5. #5
    Intermediate Intermediate HIGHTEC.henk-piet.glas is on a distinguished road
    Join Date
    May 2017
    Posts
    35
    Points
    562.5
    Hi Jonas,

    Quote Originally Posted by jonnyx View Post
    Thank you, that is exaclty what I was wondering about. I did actually look at the iRAM.lm file but must have overseen the memory reservation part... Thank you!
    My pleasure. Happy developing.

    Henk-Piet Glas
    Principal Technical Specialist

+ Reply to Thread

Tags for this 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.