C166/ST10 Tool Chain v8.6r1



This release note covers version v8.6r1. It describes the changes and new features of all TASKING C166/ST10 products since v8.5r1.

The following sections are included in this release note:


Summary of changes between v8.5r2 and v8.6r1:

Summary of changes between v8.5r1 and v8.5r2:


Use PUSH/POP Instructions To Save GPRs In Interrupt Frame

The _using() attribute for interrupt functions allows a special keyword: push When specifying _using(push), the compiler will use PUSH and POP instructions instead of a context switch to save the GPRs in the interrupt frame.

Silicon Bug Workaround: -BZmovbjb

A silicon bug workaround has been added for the 'CPU_MOVB_JB'  problem (jump-bit wrongly executed after byte manipulation instructions).

Insert NOP instruction between an explicit byte-register modification and a bit-jump that uses the opposite byte of the same word GPR.

Default. Do not insert NOP instruction between explicit byte-register modification and a bit-jump.

New Pragmas

The following pragmas have been added for specific control:

#pragma prohibit_atomic / #pragma  noprohibit_atomic
When the pragma prohibit_atomic is set the compiler will issue a warning on the _atomic () intrinsic.

#pragma  prohibit_bit_init / #pragma  noprohibit_bit_init
When the pragma prohibit_bit_init is set the compiler will issue a warning when initializing a bit

#pragma  warn_signed_var_unsigned_const_relation / #pragma  nowarn_signed_var_unsigned_const_relation
When the pragma warn_signed_var_unsigned_const_relation is enabled, the compiler will generate a warning when a signed variable of type: char, short or int is compared with an unsigned constant value in the range: 0u <= value <= 255u. When an int has the type modifier 'long', or when the constant has the l/L suffix, the warning will not be generated.
With the word: "relation" the relational operators are meant, as described in the C standard (1990), section 6.3.8. According to this section, relational operators are: <, <=, > and >=. I.e: the equality operators (==, !=) are not included.

ROM/RAM Extension In Global Storage Optimizer

Previously the gso166 tool assumed all memory in a particular memory space to be the same: RAM. However, sometimes objects have to be allocated ROM. Therefore gso166 has been extended to support ROM and RAM areas in the memory spaces. To accomplish this, the command line interface as well as the file formats of gso166 have been updated.

The -m command line option has been extended to control the size of the ROM area in a particular memory space.  In addition, different object-size thresholds can be set for the ROM and RAM areas. This can be done by using the -T command line option.

The compiler and assembler have been updated to generated the correct memory-types, and are capable of reading the new file formats generated by gso166.



New Silicon Bug Check: C166SV1MOVBJB

A silicon bug check has been added for the 'CPU_MOVB_JB' problem (jump-bit wrongly executed after byte manipulation instructions).  The C166SV1MOVBJB control enables the check and the NOC166SV1MOVBJB control disables the check.




Infineon DAS (Device Access Server)  is supported as new communication channel between CrossView Pro and the target board. CrossView Pro can connect to the DAS server using TCP/IP. The DAS server (which may run on any computer in the network) connects to the target board, using a USB or Parallel connection.  For communication with DAS via USB it is required to use a so called 'wiggler box'. This is a small device that is used to connect with USB to the JTAG port on the board.


When installing the v8.6 toolset the conventional parallel port OCDS drivers will be installed, similar to previous releases of the product.

For DAS support  it is required to install the DAS server and USB drivers separately.  To do this, start the setup, select "Device Access Server (DAS) v2.0r0", and click install. Then follow the instructions. It is recommended not connecting the USB wiggler box to the PC before installing the DAS USB drivers. This prevents that Windows is asking for drivers before these are installed.
DAS USB support is only available for Windows XP and Windows 2000.

Configuring DAS from EDE

In the "Project Options" dialog on the page "CrossView Pro" -> "Execution Environment" you can select one of the following DAS board configurations:

When one of these configurations is selected you can setup the DAS  connection on the page "CrossView Pro" -> "OCDS via DAS Setup". In case the DAS server and USB drivers are not or incorrectly installed, the DAS configurations and the "OCDS via DAS Setup" page are not available.

Besides the listed configurations, the list also contains entries "... with OCDS via LPT ...". These configurations will use the conventional OCDS parallel port drivers. Select one of these in case you are debugging with OCDS via LPT.

Note: it is also possible to debug with OCDS via DAS using a parallel port connection, this requires installation of separate parallel port drivers for DAS, currently not included in the distribution.

Configuring DAS from CrossView Pro

If you start CrossView Pro without using EDE, a target configuration for using DAS should be selected in the  "Target" -> "Settings..." dialog.

@(#)readme.html 1.35