TASKING VX-toolset for GTM v3.3r1
Release Note

Scope

This release note covers the TASKING VX-toolset for GTM v3.3r1.

Contents

Important Notices

This is a stand-alone TASKING C compiler toolset. This toolset is an open market product. The C compiler supports the BOSCH GTM-IP MCS versions 3.x and 4.x. Due to restrictions in the instruction set architecture the GTM-IP MCS versions 1.x and 2.x can be programmed in assembly language only.

Typically the GTM-IP MCS core is part of a SoC where the MCS is initialized by the CPU. This TASKING VX-toolset for GTM v3.3r1 can be used in combination with TASKING as well as third party tools to program the CPU. The compiler output is available in ELF, HEX and C array format. The latter format was introduced to support interoperability with third party compiler tools.

Release v3.3r1 is a 64-bit product. It shall be installed on 64-bit versions of the Windows operating system. The release was tested on Windows 7 64-bit and on Windows 10 64-bit.

Release v3.3r1 no longer performs a license check when the Eclipse IDE is started. This means that the IDE can be used for non-tool related activities without claiming a license seat. For example to do a code review or to look at a linker map file. It also means that if there is no valid license this will no longer be reported at IDE start-up but only when a tool is started which requires a valid license.

New in v3.3r1

GTM v4.0 Support

This release features support for GTM-IP v4.0 version of the IP. Targeting an actual hardware implementation you can select a device with upto 10 MCS cores, with 8 channels per core. The product includes LSL files, SFR definition files and core SFR access intrinsics (AXIMI, MSINT, TIOI, TIOSL) specifically for v4.0.

New Compiler Optimizations

Several code generation improvements have been implemented since the previous release v3.2r1. Amongst these improvements are the following:

C11 Language and Library Support

This release supports C11 language and library features as defined by the ISO C standard. With the C compiler option --iso you select the ISO C standard. C90 (option value '90') is also referred to as the "ANSI C standard". C99 (option value '99') refers to the ISO/IEC 9899:1999 (E) standard. C11 (option value '11') refers to the ISO/IEC 9899:2011 (E) standard. C11 is the new default. All unconditional (mandatory) C11 features are supported. Support can be checked by means of the conditional feature macros as defined by the C standard (section 6.10.8.3).

LSL 'entry_points' Keyword and Stack Size Estimation per Channel

Stack size estimation is computed by the linker and listed in the map file. In previous releases this was only done properly for channel 0. This has now changed.

For each stack in the LSL file (and therefore for each channel of each core) you can specify a list of entry points by means of the new 'entry_points' keyword. An entry point can be specified as a symbol name. By default, the system LSL files specify _START as the single entry point symbol for stack usage calculation for channel 0 and the vector table channel function alias symbol for all other channels.

The map file now shows a stack usage estimate for each of the channel stacks for each core. It will also show which entry points were used to do the calculation. The call graph will show the stack usage for all potential entry points and call graph root nodes. The call graph no longer shows a stack name with the stack usage. Whether or not a node is used in a stack size estimation is defined by the list of entry points in the LSL file and is shown in the stack usage table in the map file.

The generic LSL macros GTM_MCS_STACK_<channel>, GTM_MCS_HEAP, and GTM_MCS_MAIN_CHANNEL are replaced by specific macros for each MCS core: GTM_MCS<core>_STACK_<channel>, GTM_MCS<core>_HEAP, and GTM_MCS<core>_MAIN_CHANNEL.

Multi-Channel Debug Support

The simulator debugger now supports multiple channels running in parallel (round-robin scheduling only). The stack back trace can be viewed per channel, as well as the memory view, the register view and the disassembly view. Also, a breakpoint can now be activated for all channels or for specific channels only (conditional breakpoint).

Other improvements

Fixed Issues in v3.3r1

The list of open issues for v3.3r1 can be found on the internet.

License Information

TASKING products are protected with TASKING license management software.

License key

You need a license key when you install a TASKING product on a computer. When you order a TASKING product from Altium or one of its distributors, a license key will be sent to you by email or on paper.

See Obtaining a License on our website for more information.

Local TASKING License Server (not applicable to evaluation licenses)

If you have ordered a TASKING product with a floating license, you can have it serviced by the Remote TASKING License Server (the most convenient solution) or through a Local TASKING License Server (in case you have no external network access for example). Consult your Altium representative for assistance on deciding what the best setup would be for your situation.

If you like to setup up a local license server, we kindly refer you for more information to Support for TASKING License Management System (TLM) on our website. Here you can also download the Local TASKING License Server package.

It is advised that you install the Local TASKING License Server before you install products that require this server.