TASKING VX-toolset for TriCore v6.4r1
Release Note

Scope

This release note covers release v6.4r1 of the TASKING VX-toolset for TriCore. It covers the changes between v6.3r1 and v6.4r1.

For release notes prior to v6.4r1, please visit the TASKING TriCore and AURIX toolset support website

Contents

Important Notices

The product includes the following features:

The following features are no longer supported:

Build Numbers

All executable files in this release have the following build number: Build 26032569.

New in v6.4r1

TASKING winIDEA Debugger

The product supports the winIDEA debugger. Hardware debugging and simulator support through the GDI interface is supported for TriCore and Arm/HSM. You can start winIDEA from the TASKING Eclipse environment.

C++ compiler improvements and optimizations

C compiler improvements and optimizations

Performance Improvements

TASKING TriCore v6.4r1 delivers measurable code quality gains over v6.3r1, with an average performance improvement of approximately 8% across all benchmarks. These improvements are the result of continued investment in compiler optimization technology, and more effective use of the target architecture's capabilities. You can expect faster execution times and improved run-time efficiency for a broad range of embedded applications.

Long path name support to compiler executables

The Windows executables are longPathAware, to enable long paths on Windows (10 and 11) you need to set LongPathsEnabled to 1 in the registry. This will allow you to open files with path names longer than 260 characters.

EABI Deviations

The TriCore C and C++ compiler support the following new --eabi sub options that can be disabled for EABI compliance:

When these flags are enabled, the behavior is as before. When disabled, the behavior is EABI compliant. For a full description of these options, please run the compiler to show the extended option description: ctc --help=options

Function inlining behavior

C compiler option --inline is now an alias for --inline=all. The option now accepts the following values:

GNU dependency file format

A new option --dep-format[amk|gnu] has been introduced to several tools. The default is: --dep-format=amk. When you are using the GNU format of dependency files, please apply option: --dep-format=gnu.

TriCore C libraries with wide character support

The TriCore C libraries now by default also contain wide character support. The functions with wide character parameters can be used without the need to recompile the C libraries.

New Floating-Point run-time library

The floating-point run-time library has been replaced with a new one which fixes several floating-point problems. It now also has support for exception FE_INEXACT. When using 32-bit floats the FP run-time library is only used when compiling with option --fp-model=t "support trapping on exceptions" or option --fp-model=s "use software floating-point library". When using 64-bit doubles the FP run-time library is always used, except when compiling with options --fp-model=fST (f enables "treat 'double' as 'float'"). Please be aware code size and speed may change for applications using this new FP-library.

EABI compliant PIC support

This release includes EABI compliant PIC support (--pic=A12).
The compiler generates Position Independent Code (PIC) and Position Independent Data (PID) conform to the Infineon EABI (Embedded Application Binary Interface).

Assembler module .END directive

To prevent that the C compiler may leave an empty .src file when it is killed, option --require-end has been made the default behavior of the assembler and the option has been replaced by --no-require-end to get the behavior as before.

ELF strip utility

The TriCore toolset comes with a new utility, elfstrip.
The elfstrip utility reads ELF files, removes sections and section groups according to the provided command-line options, and outputs the resulting ELF file.
If you want to reduce the object size and remove sensitive information from ELF object files, elfstrip provides an option to remove note sections and strip debug and group sections from ELF object files produced by TASKING tools.

Linker improvements and optimizations

LSL support for a select by object file name

Apart from the existing functionality of assigning data or code sections by using the section name in an LSL group, the TriCore linker supports making a selection by object or by archive filename in LSL.

Enhanced linker map file options

Linker options --map-file=TEXT and --global-map-file=TEXT can be extended with ":0". This will disable the default wrapping of long lines or table cells. For example: --map-file=output.map:TEXT:0. The same applies to linker option: --global-map-file.

For a full description of these map files options, please run the linker to show the extended option description: ltc --help=options

Additional checksum algorithms

By addressing issue TCVX-45409, the linker supports now also the following checksum algorithms for AURIX 2G derivatives:

Archiver option to replace the time stamp entry

The archivers have a new option -z that can be used in combination with the -r option to force all time stamps to zero, resulting in a reproducible result. With this option, two archives created from the same set of objects will be bit-identical.

Silent command line installation

The product now includes a silent command line installation for Windows. See setup_silent.bat --help for the usage.

Changed TLM license manager component

The license protected executables in this release, are built with TLM v2.2r1. The main new features of TLM v2.2r1 are:

For more detailed information, please refer to section License Information.

Fixed Issues

Fixed Problems

Quick Start

For a quick start, just start the TriCore Eclipse IDE from the Start menu. This will start the Eclipse based development environment. You will be asked to select a workspace. In case you used Eclipse before it is recommended to select a new workspace. After clicking OK, you will see the 'Welcome' view. On this view you will see icons that link to specific information. You can, for example, select the 'Samples' icon and import the TriCore project examples and/or Arm example projects.
Another icon on the Welcome page, the 'First Steps' icon, links to the 'TriCore Getting Started' document. This is a good starting point for exploring the capabilities of the environment and the tools.

License Information

TASKING products are protected with TASKING license management software.

License key

You need a license key when you install a TASKING product on a computer. When you order a TASKING product from TASKING or one of its distributors, a license key will be sent to you by email or on paper.

See the TASKING License Management (TLM) Support page for information on obtaining a license.

License pool mechanism

You can now define a named pool of specific licenses on the local license server.

A license pool is useful to specify that the licenses for one or more products shall be grouped together. This can be the case for example when your license agreement has constraints on geographical location, such as a single site license, country license or continental license. In that case you can put all product licenses that are allowed to be used by a specific location into a license pool.

Pool names for TASKING products released after March 2023 have the syntax POOL-name, where the name is free to choose from 1 up to 14 characters. Pool names are also supported with existing TASKING products, as long as you use the TASKING Local License Server v1.5r3 or up and specify the pool names in the fixed format POOL-xxxx-xxxx-xxxx.
Note that you also need to use this fixed pool name format if you are mixing older and newer TASKING products.

The PRODUCT keyword has been deprecated, but still works for backwards compatibility.

Improved Verbose Logging

You can set the TSK_LOG_VERBOSE option in licopt.txt, or as an environment variable, to different verbose levels.

With level 3 or higher, detailed license configuration information is shown, which is useful for debugging licensing problems. For example, it shows the environment variables or options used, the license key and the search path.

Support for wait for a free license

You can now set the TSK_LICENSE_WAIT option in licopt.txt to a configurable time period to wait for a free license seat to become available instead of directly terminating when a license request is denied. See Wait for a Free License

You can combine the wait for a free license with the license queuing mechanism of the local license server. See Using a License Queue.