TASKING VX-toolset for TriCore and PCP
v3.1r1
RELEASE NOTE

This release note covers the TASKING VX-toolset for TriCore and PCP
version 3.1r1 with repect to version 3.0r1. New C Compiler
optimizations have been introduced and selective bugs have been solved.
The new 'AUDO Future' derivative TC1736 is supported including
simulator debug
support. For the 'AUDO Future' derivatives
TC1767 and TC1797 triboard debug support is implemented.

Rename userdefined processors

Removed prelinker

With version v3.1r1 the C++ compiler option --instantiate=none became
obsolete. This lacks the need of a Prelinker, so this utility is no
longer part of the tools.
The symbol dumper, as used by the prelinker, is also removed from the
toolchain.

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 examples
and/or the PCP 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.

Bundles

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.

Eclipse

The Integrated Development Environment (IDE) that is built
on the Eclipse framework provides a seamless workbench
for the complete toolset including the debugger of
the VX-toolset. The IDE provides facilities for project
configuration and management, C/C++ and assembly code
aware editing, build management, debugging, profiling
and more. It provides wizards to help you to set up your
embedded TriCore or PCP project and to configure your target board
settings to debug your project on hardware.
The Eclipse editor supports C, C++, assembly language
and header files with syntax highlighting, auto completion,
context assistance and tool tips. As you would expect from
a de facto standard IDE, it provides full support for all
relevant source code version control systems.

Conversion tool

A conversion tool is available to help you migrate your EDE/CodeWright
project to the new Eclipse based environment. The tool can be started
from the File|Import...|TASKING C/C++|TASKING TriCore EDE
Projects menu.

Derivatives support

The new 'AUDO Future' derivative TC1736 is supported, including
simulator debug support. This device is 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.

Bug fixes

The solved and known problems are not part of this release note, they
are described in
solved_3_1r1.html (delivered with the tools).

General

A change in the TriCore C Compiler startup
phase decreases the
compiler's run time. This has only impact when running under Windows
XP.

Code optimization

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

New optimization -Ov

A new optimize option has been introduced, -Ov, to enhance code
generation. The option stands for 'convert IF statements using
predicates'. This optimization is enabled in -O2 and -O3.

Changed defaults

The default for the tradeoff is changed from 2 to 4, meaning optimize
for size.
The --silicon-bug=all-tc1765
is changed to be an alias of all-tc1775.

Silicon-bug bypasses

For the silicon bugs CPU.TC105 and CPU.TC106 a bypass is not possible.
Therefore warnings have been implemented in the compiler.
For the silicon bugs CPU.TC108 and CPU.TC109 an appropriate bypass have
been implemented.
Refer to solved_3_1r1.html (delivered with the tools)
in which these bypasses are described.
For these four cpu-tc bypasses/checks, the --silicon-bug
option is extended to accept them.
For the tc1767 and tc1797 the --silicon-bug
option has been extended with all-tc1767 and all-tc1797.

Global type checking, introduction meant
for experiments

The option --global-type-checking is made available. With
this option extra debug information is generated which is understood by
the linker to be able to detect inconsistencies between references and definitions of variables and
functions. However, this feature is in an
experimental
phase and not yet fully tested. Therefore the option might not work as
expected yet. Neither is this C compiler option described in the user
guide.

New derivative

For the new derivative tc1736, options are extended
accordingly. The --silicon-bug
is extended to accept all-tc1736.
For the tc1736, the following silicon bugs have been implemented:
CPU.TC105 and CPU.TC106.

General

A change in the PCP C Compiler startup
phase decreases the
compiler's run time. This has only impact when running under Windows XP.

Code optimization

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

Automatic memory partitioning optimization moved

The memory partition optimization is a global optimizations. It has
been moved from -Oh/H
to --no-partition,
because otherwise it could be enabled/disabled in parts of the module
by using the optimize pragma.

Linker map file option

In the linker map file it is now
possible to have an overview of the removed sections by specifying the
command line option -md/D. Default this new option is enabled.

Global type checking, introduction meant
for experiments

The option --global-type-checking is made available. The linker will be
able to detect inconsistencies between references and definitions of
variables and
functions. However, this feature is in an
experimental
phase and not yet fully tested. Therefore the option might not work as
expected yet.

Specify length of data records

With the new option --hex-record-size=<number> it is possible to specify the size (width) of the Intel Hex data records.

TriBoard 1767 and 1797

The two TriBoard 1767 and 1797 have been added to the list of supported target
boards.

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.