This website uses cookies so that we can provide you with the best user experience. To read more about the cookies we use and to change your settings see our Cookies Policy.
This application note provides details on the internal sections that are generated in addition to the normal code and data sections. It walks you through the following compiler-generated internal sections and describes how they can be utilized: Initializers: *.n.ini.* String literals: *.n....
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 ...
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 ...
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...
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...
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...
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 ...
When your application is fully located in RAM, the debugger may fail to download and run it on the target. In that case, the debugger issues an error: Loading failed: A problem occurred during downloading Possible solution Certain parts of the internal memory are automatically cleared duri...
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...
Typically a stack overflow will show: a strange behavior of the application and/or a subsequent out-of-control behavior (crash/application trap). The post-mortem analysis will have to include an inspection of the stack pointer (A10 register), the trap status register, and possibly a trace ...
The TriCore CPU does not have a hardware stack. Instead, the run-time environment uses a synthetic stack managed through the register A10 for stack usage. As a result, there is no explicit stack checking option, as implementing such a feature would cause significant run-time penalties. Mor...
Typically, a TriCore application has the following types of stacks: User Stack (ustack) The user stack demand for a single function is calculated by the C compiler . Furthermore, the C compiler generates information for the call graph generation. The call graph is generated by the linker a...
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...
The TriCore CPU core versions v1.3.1 up to v1.6.2 (AURIX 2G) include a hardware FPU unit for floating-point calculations. This makes float calculations very efficient because there are dedicated assembly instructions, for example, for floating-point multiplication, division, addition, or s...
Yes, the 64-bit version of Amazon Corretto has been tested successfully with the TriCore toolset v6.3r1. Also, the 32-bit version of Amazon Corretto JRE8 can be used for the 32-bit versions of the TASKING TriCore tools (versions up to v6.2r2) which are JRE8 compliant. To force the Eclipse ...
The control program (cctc) facilitates the invocation of the qualified tools of the TriCore toolset from a single command line. If you would like to know which options are passed to the individual tools, you can enable the verbose option -v and review the output. The control program itself...
To see which tools are qualified, refer to section 1.7 Qualified toolset components in the Safety & Cybersecurity Manual TASKING VX- toolset for TriCore v6.3r1 . To see which tool options are qualified, refer to the Annex J List of qualified tool options in the Safety & Cybersecurity Manua...
The Qualification Kit includes the following: Safety Manual for the TriCore VX-toolset Perennial CVSA (C) and CCVS (C++) test suite configuration files, which allow users to run the Perennial test suites with the TASKING TriCore tools (using customized tool options). The Perennial test sui...
During the execution of the erase memory command, i t is likely that the Boot Mode Header (BMHD) was also cleared . This is the case for TriCore 2xx devices where the Boot ROM is part of the Program Memory Unit. For TriCore 3xx devices, the Boot ROM is located in another part of the memory...
To determine the version, revision, and patch level information of a TriCore product, follow the below steps: 1. Navigate to the installation path\ctc\bin directory of the TriCore VX-toolset , for example, C:\Program Files\TASKING\TriCore v6.3r1\ctc\bin . 2. Open the command prompt (cmd.ex...
Yes, you can use the free OpenJDK 8 with our products that use the Eclipse platform v4.5.1 (Mars 1). These products are: TASKING VX-toolset for TriCore versions v6.1r1 and higher GTM v3.2r1 and higher TASKING Embedded Debugger v1.0r3 and higher Note that Eclipse requires you to have a Java...
This application note provides detailed guidance for creating and running a Docker image for VX-toolset for TriCore v6.3r1 whether on local disks or in remote repositories. It walks you through setting up Docker Desktop, preparing a Dockerfile, building and running the image, and managing ...
After updating Java JRE, the following Eclipse error may show up: An error has occured. See the log file workspace\.metadata\.log. The log file shows a line like this: Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255 ...
TriCore VX-toolset v6.3r1 Eclipse IDE requires a 64-bit Java Runtime Environment (JRE) v8 or above. The installer tries to detect if a 64-bit JRE is already present. If not, it will install JRE build v1.8.0_162. If multiple JRE versions are installed, it might happen that the Eclipse inclu...