TASKING VX-toolset for TriCore and PCP
v3.2r1
RELEASE NOTE
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:
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.
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.
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.
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.
Eclipse
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.
Code optimization
The C Compiler has been improved to generate better optimized code and
runtime speed.
MIL-Linking
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.
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