The TASKING TriCore Inspector is a product that allows you to verify whether the compilation of your code is affected by known issues in various components of the TASKING VX-toolset for TriCore, as presented on the TASKING Issue Portal . Essentially, the Inspector is a copy of the existing...
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...
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...
Prerequisite CMake and its respective Generators Make sure that CMake is installed on your system along with the respective Generators . This article considers the use of Ninja and Ninja Multi-Config generators. 1. Place the Generator executable, in this case, ninja.exe , in the ..\ CMake ...
If you need to do run-time stack checking, you will have to implement this yourself. A simple way to check the linker calculation result versus the actual stack usage during run-time is filling the stack area with a specific pattern (like 0xA5A5A5A5 checker/chessboard pattern) and then run...
This article is for the TriCore toolset. 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 linker...
If an address of a variable or a function is not known by the application, for example, because the variable or function is part of another application that is linked separately, you can use LSL symbols to specify the address of those symbols during link time. This approach prevents a reco...
This article is for the TriCore toolset. According to the ISO C standard, global variables need to be initialized. If a variable is not initialized as shown below, it will be initialized with zeroes. int var_1; The initialization is conducted during the execution of the startup code. For i...
This article is applicable only for TriCore VX-toolset Patch levels above v6.2r2 patch 2 and v6.3r1 patch 2. The TriCore v6.2r2 Inspector v1.0r7 is based on the TASKING VX-toolset for TriCore v6.2r2 Patch 2, and the TriCore v6.3r1 Inspector v1.0r6 is based on the TASKING VX-toolset for Tri...
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...