This release note describes the changes and new features of all TASKING TriCore products
The following parts are described:
The solved and known problems are not part of this release note, they are described in solved_2_1r1.html (delivered with the package).
The main reasons for this release are:
As you may have noticed the letters VX are added to the name of this new TASKING TriCore toolset. VX is short for Viper eXperience, and it indicates that this toolset incorporates the new generation VIPER DSP-C compiler technology. This compiler has been developed in-house by Altium and offers true state-of-the-art code generation. Furthermore specific DSP optimizations have been added, so you will find an improved performance of the compiler in both generated code size and run-time speed.
The compiler offers full compliance with the latest ISO C 1999 standard, for instance the _Bool and long long data types are available and ready for use.
In our strive for being in accordance with the TriCore EABI (Embedded Application Binary Interface), we have introduced the ELF/DWARF 2 object format. This smoothes the integration with many third party products such as RTOS's, software libraries and debuggers. For this purpose the assembler and linker have been redesigned as well. The new linker comes with an enhanced Linker Script Language (LSL) that replaces its predecessor DEscriptive Language For Embedded Environments (DELFEE).
With the upgrade to the Viper technology it turned out to be not possible to maintain full backwards compatibility. However, we have included a migration tool to help you convert a project, originally set up for a previous TriCore toolset, to one that will build with this new toolset.
The EDE interface has been improved for the generation of LSL files. This has the side effect that in the menu 'Project | Project Options...' on page 'Linker | Script File | Sections' some columns need to be modified manually, only when moving older projects to the v2.1 VX-toolset version (note: only if these group/sections settings have been used in the project). By default the column 'Space' can be set on 'Linear' and the column 'Copy' can get the value 'ON'.
This feature can be executed by the new shortcut button that is being introduced next to the build shortcut buttons. This feature will only check the syntax of a C, ASM or PCP file, no code/output is generated. This allows you to speed up the proces of writing error/warning free code.
A new LSL example showing the Magic Square program has been introduced in the product. This Magic Square program is mainly meant to show how EDE can be used to generate a '.lsl' file to steer the locating proces. Within the 'readme.txt' file included within the project, you can find a detailed description of all the LSL features.
No new/changed features.
The compiler used to generate a section for each data object. From version v2.1r1 this default behaviour has been changed, the compiler now only generates a section for each datatype per module (e.g. one section per module for constant data, one for near data, etc..). This change prevents that large amounts of sections are generated, which can cause large amount of alignment gaps (because all section have a 4 byte alignment).
If you don't like to use this new default behaviour, we have introduced the option '--section-per-data-object'. This option will force that the compiler uses the old default behaviour, which generates a section for each data object.
New silicon bug workaround has been introduced:
No new/changed features.
A new control program has been introduced, which completes the new generation tools. This new control program is more tuned to the new VX-generation tools. However this has some side effects that need to be taken care of. For EDE users, there will not be any problem, as the EDE version within this release is updated to the new control program.
For commandline users (who use the control program CCTC in their build proces) there are some minor changes in options. Below is a summary of the changes:
|OLD option||NEW option|