TASKING VX-toolset for TriCore and PCP v3.2r1


This release note covers the TASKING VX-toolset for TriCore and PCP version 3.2r1 with respect to version 3.1r1.

New C Compiler optimizations have been introduced and selective bugs have been solved.
The following new derivatives are supported: TC1167 and TC1197.

Evaluation board support is included for the TC1736.

The Eclipse IDE has been upgraded to the latest global release, named Ganymede, with CDT 5.0. With this upgrade TASKING's parallel build utility (amk) is introduced.

More details are described in the following paragraphs:

Last Minute Notes

Evaluation board support of derivative TC1736

A preliminary debugger configuration file is included to support the EasyKit TC1736. It is however not tested on actual hardware, due to the unavailability of this evaluation board at the time of this toolset release. Please contact us for more details once the board is released by Infineon.

Quick Start

For a quick start, just start the 'TASKING VX-toolset for TriCore and PCP' 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 the PCP project examples.
Another icon on the Welcome page, the 'First Steps' icon, links to the 'TriCore Getting Started' and the 'PCP Getting Started' documents. This is a good starting point for exploring the capabilities of the environment and the tools.

Licensing issues


Altium's TASKING VX-toolset for TriCore and PCP is available as Standard, Professional and Premium Edition. At installation time all tools are installed, no matter what bundle you purchased. However, each tool is protected with its own unique key. Together with the software you receive a set of keys - specific for the bundle - unlocking the appropriate tools.

15-day Trial

When using the product without a valid license, the tools will run in trial mode. This means you can use the toolset 15 days with full functionality. When running in trial mode, each tool will report this.
If you have purchased a Standard or Professional Edition, you will have 15-day trial mode access to functionalities of a more extensive Edition. In case you are using any of these extra features beyond what your license key activates in your bundle, you will see a message that the feature is available to you in trial mode. This allows you to test and evaluate these features in case you consider to upgrade.

General Improvements


The Eclipse IDE has been upgraded to the global version Ganymede, with CDT 5.0.

Parallel build

With the increasing complexity and size of projects, computers are pushed to the limit of their processing power. Building such projects are taking up more and more time, even while processors get faster. With todays Multi Core PCs, it is possible to increase the runtime performance of tools. To make advantage of this performance capability, TASKING's new parallel build utility is being released. This tool - named amk - is executed from within Eclipse. The mktc command line build tool still exists, but the amk differs by using parallelism which utilizes the multiple cores found on modern host hardware, hardening for path names with embedded white space; it has an (internal) interface to provide progress information for updating a progress bar; and it does not use an external command shell (/bin/sh, cmd.exe) but executes commands directly.

Derivatives support

The new 'AUDO Future' derivatives TC1167 and TC1197 are supported. For these devices simulator debug support is available. For the 'AUDO Future' derivative TC1736 preliminary evaluation board support is included.

All devices are based on the TriCore 1 V1.3.1 architecture, which adds an expanded instruction set as compared to the TriCore 1 V1.3 architecture. ELF files created for the new derivative will have the E_FLAGS field set to EF_TRICORE_V1_3_1, indicating the new architecture.

Unfortunately, at the time this toolset version was released the evaluation board TC1736 was not yet available. This means that it might be possible that our debugger configuration files will not work. Contact Altium for more details when the board is available.

Prior to this release, when supporting a new derivative, the Compiler, Assembler and Control Program needed to be changed. With this release, this is changed by the usage of the processors.xml file, which is read by Eclipse and the Control Program. In this file all information regarding derivatives is stored. For legacy purposes the knowledge of the tools with respect to all derivatives prior to this release is kept in the tools too. When new cores are to be supported in future, the tools must then be adapted.
The Control Program reads the processors.xml file and will invocate the Compiler and Assembler with the correct core and derivative options. The Compiler and Assembler do not read the processors.xml file and will always accept the derivative (if not a legacy derivative) and if specified the core (one of TC1.2, TC1.3, TC1.31). The default core is TC1.3.

Supporting cacheable flash memory

With previous releases flashing was always done to the 0xA range, being non-cacheable flash memory. It is now possible to flash into the 0x8 range as well, which is cacheable flash memory.

Bug fixes

The solved and known problems are not part of this release note, they are described in the file solved_3_2r1.html, delivered with the product.

TriCore C Compiler

Code optimization

The C Compiler has been improved to generate better optimized code and runtime speed.


MIL-Linking is a new preprocessing feature to enable global or application-wide optimization.

The frontend phase of the Compiler performs its optimizations on the MIL code. When all C modules and/or MIL modules of an application are given to the Compiler in a single invocation, the Compiler will link MIL code of the modules to a complete application automatically. Next, the frontend will run its optimizations again with application scope. After this, the MIL code is passed on to the backend, which will generate a single .src file for the whole application. Linking with the run-time library, floating-point library and C library is still necessary.

Global type checking - temporarily removed

The option --global-type-checking which was made available in v3.1r1 has temporarily been removed. This because of the fact that the feature is not yet fully implemented in the Linker.

PCP C Compiler

Code optimization

The PCP C Compiler has been improved to generate better optimized code.


Profiling libraries

For being able to perform profiling, one needs to use the profiling libraries. These libraries are available by default, but may be changed using the newly included makefiles for profiling.

MIL-Linking libraries

With the introduction of MIL-Linking in the Compiler, the need of MIL-Libraries existed. Therefore besides the normal libraries, also MIL-Libraries are now included. Their extension is .ma. The following libc MIL-Libraries exist: libc, libcs, libc_fpu and libcs_fpu.

TC1100_mmu libraries

For the derivative TC1100 the need of libraries with mmu was needed. These have been included in this release for the first time.


Supported target boards

The EasyKit TC1736 has been added to the list of supported target boards (see Last Minute Notes).

Limitations debugging the PCP

Currently the debugger is not able to show a stack trace for PCP applications. The PCP tools create a static stack, and the debugger does not know how to retrieve return addresses if no stack or frame pointer is available. When DWARF Debugging Information Format v3.0 is used, it would be possible to retrieve this kind of information. However, that would be in contradiction with the EABI that prescribes the DWARF v2.0 standard.
All stack related features, such as stack breakpoints and return from function won't work for the same reason.

Standalone debugger

Besides the integrated TASKING Debugger in Eclipse, also a standalone Debugger is available now. It is called dbgtc and its main purpose is running scripts for tests. The debugger user guide is available too.

Copyright 2009 Altium BV