Categories

Linker
Linker Script Language (LSL) tips & tricks for the TriCore toolset 19-Nov-2024
This application note provides several helpful tips and tricks to help you use Linker Script Language (LSL) effectively in a TriCore VX-toolset. The key topics include: LSL code core association and data core association Using the overflow keyword for distributed output sections Using the ...
Memory usage information included in a map file 15-Nov-2024
The available on-chip memory of an Infineon AURIX family derivative is distributed across various memory areas. You need to be aware of the extent to which the application code and data use individual memory ranges. This can indicate potential bottlenecks that may require you toadjust the ...
Section is not assigned to an LSL group as expected 15-Nov-2024
When you use an LSL group to select sections, for example, for a dedicated placement in memory, a section might not be assigned as expected. This may be due to the wrong space selection in the section_layout in the LSL file. Possible solution Although group names are optional, consider usi...
Change the section attribute at link stage / prevent initialization of sections 15-Nov-2024
This article is for the TriCore product. A similar approach applies to our other products as they use the same linker script language. The C compiler adds section attributes to all code and data sections it creates. The available section attributes are:  r readable sections w writable sec...
Dedicated placement of ROM copy sections for initialized data 15-Nov-2024
This article is for the TriCore toolchain. A similar approach applies to our other toolchains as they use the same linker script language. When a variable is initialized as shown below, the initialization value for this variable needs to be placed in flash memory : int var_1 = 10; The link...
Linker Warning W132: cannot bind symbol _lc_ub_heap … and cannot bind symbol _lc_ue_heap … 12-Nov-2024
The cause of these warnings after upgrading to v6.3r1 is that the heap definition was moved from tc_mc_arch.lsl to derivative .lsl to support core-specific LSL files, where each core has its own heap. The tc_mc_arch.lsl file is now included in derivative .lsl . Possible solutions When the ...
User stack size calculation in the map file shows zero-sized stacks after upgrading to TriCore v6.3r1 12-Nov-2024
Possible solution In TriCore v6.3r1, the entry_points keyword was introduced to specify different entry points for the stack size calculation. If those entry points are not defined, the map file will show a stack size of zero bytes in the 'Estimated stack usage' section like: * Estimated s...
Change the code core or data core association using "modify input" in the LSL file 12-Nov-2024
Our TriCore tools feature the language extensions __share , __private0 , __private1 , __private2 , and __clone to assign a code or data section to multiple cores or a single core only. You can achieve the same goal with the following pragmas: #pragma code_core_association share | private{0...