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.
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
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.
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.
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
#pragma noclear restore
#pragma noclear on
#pragma noclear restore
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:
This will make var3 being initialized with zero.
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.
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.
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).
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).
The AURIX TriBoard TC29x is supported.
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.
The AURIX TriBoard TC23x is supported.
Important notice: To be able
to access this board you need DAS version 4.4.2.
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.
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.
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.
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.
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.
The AURIX TriBoard TC27x B-step (production device) is supported.
The list of open issues for v4.3r3 can be found on the internet.
The list of open issues for v4.3r2 can be found on the internet.
The list of open issues for v4.3r1 can be found on the internet.
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.
This release does not support the regular 15-day trial mode.
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.
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.