TASKING VX-toolset for TriCore v4.3r3
Release Note

Scope

This release note covers the changes between v4.2r2 and v4.3r3 of the TASKING VX-toolset for TriCore.

For release notes prior to v4.3r1, please visit the TASKING TriCore support website.

Contents

Important Notices

TriCore C++ libraries (exception handling)

The TriCore toolset comes with 2 sets of C++ libraries: libcp and libcps. The libcp libraries provide exception handling, while the libcps libraries should not have any exception handling. The libcps was build incorrectly causing the library still to hold some exception handling (option --c++0x enables exception handling). This is resolved by using option --no-exception.

When you relied on the libcps libraries to catch any exception, then you should now switch over to the libcp library instead.

TriCore _fpu libraries (rounding mode and exception flags)

When generating code and using the FPU the compiler will generate FPU instructions and in some cases a library call. These library calls exist in _fpu libraries. These calls will be generated when optimizing for code size. These functions on their turn would call the FPU and perform some extra instructions to fulfill the desired operation. As extra, these functions would clear the exception flags and set the rounding mode to 'rounding to nearest' (which is also default of the FPU).

The problem occurred in case in the user startup code the rounding mode was set different than 'rounding to nearest'. The mode would be changed in the library function and would not be restored afterwards. The result of floating point operations might be not as expected. However the compiler is not changing the exception flags or rounding mode when generating the FPU instructions.

The functions of the _fpu libraries that are called by compiler generated code are no longer resetting the exception flags and do not change the rounding mode of the FPU. According to the IEEE, standard resetting the exception flags and setting the desired rounding mode is the responsibility of the user.

When you use FPU and you set another rounding mode than 'rounding to nearest', you must be aware of the fact that results may differ when using the new _fpu libraries.

DAS 4.4.2 required

With this release the new TC23x TriBoard is supported. This board requires the latest DAS 4.4.2 of Infineon for debugging. When startinga debug session with any TriBoard, the installed DAS version is checked. In case it is lower than 4.4.2 you are notfied about this. You may download the latest DAS version from the Infineon website.

C pragma clear/noclear in C++ source

With the fix of problem 160-38960 the following must be taken into account:

The C pragma's are originally not designed for use in C++ sources. They are supported as far as possible. The way the C++ compiler handles them may therefor deviate from how the C compiler does. With the #pragma clear /noclear there is a small deviation which must be taken into account. When twice the same pragma is used with a restore and no data is defined between, as shown below:

  #pragma noclear on
  int var1;
  #pragma noclear restore
   functions....
  #pragma noclear on
  int var2;
  #pragma noclear restore
  int var3;

then the C++ compiler will not generate the first #pragma noclear restore. This means that the C compiler handles only one restore on 2 "noclear" settings. This means that var3 will also be uninitialized. Since the default setting of the toolset is that variables are cleared (initialized with zero) these pragma's must be used as follows, taken the example above:

  #pragma noclear
  int var1;
  #pragma clear
   functions....
  #pragma noclear
  int var2;
  #pragma clear
  int var3;

This will make var3 being initialized with zero.

New in v4.3r3

This section gives an overview of the most important new features and improvements in v4.3r3. See the sections with fixed issues for a complete list.

SFR support TC27x C-step

In this release one new derivative is supported, the TC27x C-step. Only SFR build support is available and tested with the Infineon simulator (TSIM). No hardware of the TC27x C-step was available to test on.

Updated TC27x B-step SFR file

For the AURIX derivative TC27x B-step the SFR file has been updated to the latest User Manual from Infineon, version v1.4.1. The updated files (tc<xx>.sfr, tc<xx>def and tc<xx>.xml) can be found in the include/sfr directory (for TriCore and MCS).

Updated TC29x SFR file

For the AURIX derivative TC29x the SFR file has been updated to the latest User Manual from Infineon, version v1.1.1. The updated files (tc<xx>.sfr, tc<xx>def and tc<xx>.xml) can be found in the include/sfr directory (for TriCore and MCS).

TriBoard TC29x support

The AURIX TriBoard TC29x is supported.

TriBoard TC26x support

The AURIX TriBoard TC26x is supported. However it is not possible to access the XC800 core through the Debug Access Port which is in this AURIX derivative.

TriBoard TC23x support

The AURIX TriBoard TC23x is supported.

Important notice: To be able to access this board you need DAS version 4.4.2.

New in v4.3r2

This section gives an overview of the most important new features and improvements in v4.3r2. See the sections with fixed issues for a complete list.

SFR support TC23x and TC23x_adas

In this release 2 new derivatives are supported, the TC23x and TC23x_adas. Although these are AURIX multi-core devices they have 1 TriCore core (lockstep). They also only have 1 MCS which is supported too.

Only SFR build support is available and tested with the Infineon TSIM. No hardware of the TC27x was available to test on.

New in v4.3r1

This section gives an overview of the most important new features and improvements in v4.3r1. See the sections with fixed issues for a complete list.

Generate a makefile using Eclipse IDE

For batch-processing it is now possible to call the Eclipsec.exe to generate a makefile for a project without user interference and without starting Eclipse GUI. The makefile can then be used to build the project in batch-mode without Eclipse being started, but by invoking the make utility (amk.exe) from command-line. Refer to 160-38819.

Support for AURIX Boot Mode Header (CRC)

In this release the TriCore linker is capable of generating up to four valid Boot Mode Headers (BMHs) for AURIX derivatives. An extension in LSL is available. The start address, begin address and end address need to be specified. The linker will calculate the CRC and writes this into the BMH section.

An interface within Eclipse is available for specifying the required information for the linker. At least one BMH needs to be reserved, to make sure that the Triboard won't be bricked. The interface-page can be found under menu "Project Properties->C/C++ Build->Memory, tab Boot Mode Headers". This is only valid for AURIX derivatives.

TriBoard TC27xB support

The AURIX TriBoard TC27x B-step (production device) is supported.

Fixed issues for v4.3r3

New Features

Fixed Problems

The list of open issues for v4.3r3 can be found on the internet.

Fixed issues for v4.3r2

New Features

The list of open issues for v4.3r2 can be found on the internet.

Fixed issues for v4.3r1

New Features

Fixed Problems

The list of open issues for v4.3r1 can be found on the internet.

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, PCP project examples, MCS project examples, 8051 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

15-day Trial

This release does not support the regular 15-day trial mode.

How to obtain a license key

All TASKING products include the industry standard FLEXlm license management software. In order to be able to run this toolset, you will need a license key. You can only obtain a license key if you have purchased this product.

To obtain a license key, you can start the License Administrator from the program group of your installed TASKING toolset. In case you still need to install the toolset, you can start the License Administrator by setting a check mark at the end of the setup/installation process. The wizard of the License Administrator will guide you through the steps to obtain your license key.

Once you have received your license key from Altium, you can install it on your system by running the License Administrator again. Alternatively you can simply save the license key as the file 'license.dat' in the C:\flexlm folder on your PC's hard disk.

More information is available on http://www.tasking.com/support/flexlm. On this page you also find assistance to setup a floating network license, or for installation on Linux or Sun systems.

Bundles

Altium's TASKING VX-toolset for TriCore is available as Standard, Professional and Premium Edition. At installation time all tools are installed, no matter what bundle you purchased or want to evaluate. However, each tool is protected with its own unique key. After your purchase you will receive a license key - specific for the bundle - to unlock the appropriate tools.