Search:

Support for TriCore® C compiler toolset

Frequently Asked Questions

This page provides answers to commonly asked TriCore compiler questions handled by our customer support staff.

Contents

Is your question not listed? Contact TASKING.


I keep on getting error messages like: ltc E113: requirement: 10 bytes of ROM area in space "abs18"

During the build proces the linker generates the following error messages:

The linker can't locate the section because there is no NEAR (abs18) ROM memory available. The error message can be prevented by defining NEAR ROM memory in the LSL file or within EDE page 'Linker | Script File | Internal/External Memory'.

NEAR memory is the first 14 bits (0x3FFF) of each segment. Examples of NEAR memory are the ranges 0xA0000000 - 0xA0003FFF and 0xD0000000 - 0xD0003FFF.

If there is no NEAR ROM memory available, you will have to prevent the compiler from generating NEAR constant data. In most cases, the generation of NEAR constant data is caused by the -N8 option (EDE page 'C Compiler | Allocation'). But it can also be caused by the explicit use of the __near qualifier within your C-source.


Using the VX-toolset v2.1, FLEXlm generates the following error: Invalid (inconsistent) license key(-8,544)

When trying to run one of the tools of the v2.1 VX-toolset, FLEXlm generates the following error message:

Invalid (inconsistent) license key(-8,544)

The VX-toolset v2.1 product includes a new version of the FLEXlm license manager. If you are using an older version of the license manager, you could get this error message.

To prevent this error message, update your license manager to at least version 8.4a, as supplied on the product CD of the VX-toolset v2.1.

If you are already using a newer version of the license manager (supplied by other vendors) make sure you are using v8.4a of the TASKING daemon (Tasking or Tasking.exe) included in the v2.1 product (\flexlm\Tasking.exe or /flexlm/Tasking)


How can I include my own SFR files?

v1.5r2 and newer To include your own SFR files, go to the menu Processor | Processor Definition. Select a user defined CPU type (TriCore-1 v1.2, v1.3 or TriCore-2). The corresponding and used SFR files have the following naming convention: user defined TriCore-1 v1.2: reguserdef112.sfr and reguserdef112.def user defined TriCore-1 v1.3: reguserdef113.sfr and reguserdef113.def user defined TriCore-2: reguserdef2.sfr and reguserdef2.def These files are located in the TriCore tools include directory. You can place your own SFR definitions within these specific files.

Please consider: When selecting a user defined CPU type, it may be necessary to adapt its Bus configuration at Processor | Bus Configuration. Furthermore there are also specific linker script files for the userdefined CPU types, userdef112.lsl, userdef113.lsl and userdef2.lsl.

v1.5r1 and older To include your own SFR files, go to the menu EDE | Project configuration | Tab "CPU". Select a user defined CPU type (TriCore-1 v1.2 or v1.3), and enter your special device name in the dialog box User specified CPU name, at the bottom of the dialog. Your SFR file should follow the naming convention reg[name].sfr and be located in the TriCore tools include directory.

Please consider: When selecting a user defined CPU type, it may be necessary to adapt its configuration at EDE | Configure Selected CPU and the Bus configuration at EDE | Configure Bus.


I can't build my project when I'm using DAvE® or TriLib?

v1.5r2 and newer When you're using DAvE® or TriLib, the project can't be build because the compiler complains with redeclarations. These redeclarations are caused by a double inclusion of SFR header files. To overcome this problem, you can switch off the option "Automatic inclusion of '.sfr' file" within the menu C Compiler | Preprocessor when using DAvE®. For TriLib there is an option available within Assembler | Preprocessing, called "Include '.def' file", turning off this option solves the problems with TriLib. These options are available from version v1.5r2 of the toolset.

v1.5r1 and older For toolset version v1.5r1, we have made an adjusted CTRI.DOL which makes it possible to have more control over the handling of SFR header files, see Download Items.

In the menu EDE | Project Configuration | Tab "CPU" there is an extra option "Include '.def' file only (e.g. DAvE® projects" introduced, which should be turned off when dealing with DAvE® projects and TriLib.

In the menu EDE | Assembler Options | Tab "Files" there is an extra option "Include '.def' file" introduced, which makes it possible to turn off the inclusion of the '.def' file also. When dealing with TriLib, the '.def' file should only be included in the CSTART.ASM file, but should be turned off for all other files in the project.


Locating a PCP project with v1.5r1 leads to warnings/errors?

When I want to locate some PCP code/data using version v1.5r1 of the toolchain, the locator complains with the following warnings/errors?

In order to solve this locator problem, we've made a new locator available on the Download Items page.


The CrossView demo example gets into an endless loop while running on a TC1775A/TC1775B/TC1765 with toolset v1.5r1

When you're trying the CrossView demo example on a TC1775A/TC1775B/TC1765 board with toolset v1.5r1, the example might run into an endless loop at line 62. This can be prevented by activating all bypasses for the TriCore v1.2 family, Project | Processor Options | Tab "Bypasses TC1 v1.2"


The v1.x linker generates E205 and E206 errors?

When you try to build a project containing C++ modules, sometimes the v1.x linker generates E205 & E206 errors. These errors are generated because of redefinitions of class members. To overcome the generation of these error messages (lktri E205 & E206), you should turn off the option Anachronisms in the menu C++ Compiler Options | Tab "Language"


What's the difference between volatile int* stackPtr and int* volatile stackPtr

volatile int* stackPtr This declaration defines a pointer to the volatile integer stackPtr.

int* volatile stackPtr This declaration defines a volatile pointer to the integer stackPtr.


Version v1.4r1 does not generate any .src files using EDE?

To correct this behaviour of EDE, there is an updated CTRI.DOL file in the Download Items-section available