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

Summary

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.

The following parts are described:

General

Rename userdefined processors

Renamed userdef112/userdef113 in userdef12/userdef13. Added userdef131. Renamed all-tc112/all-tc113 in all-tc12/all-tc13.

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.

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 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.

Licensing issues

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.

General Improvements

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).

TriCore C++ Compiler

The TriCore C++ Compiler has been updated to accept all intrinsics of the TriCore C Compiler. Also the __align32 qualifier is now also accepted.

TriCore C Compiler

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.

PCP C Compiler

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

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.

Libraries

The protected tc1765 libraries have been removed, because the tc1775 have to be used instead.

For the new derivatives tc1736, tc1767 and tc1797 all their libraries have been included.

Debugger

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.

Copyright 2008 Altium BV