What's new in C166 version 7.05
- [C166 Compiler]
- Corrected: the error 'illegal use of near/far/huge' was issued on some valid statements. For example:
typedef unsigned long ul_v;
typedef unsigned long ul_a[];
char foo ( ul_v *pul, const ul_a far par, unsigned char uc ); // erroneous generated error message
char foo ( ul_v *pul, const ul_a far par, unsigned char uc ) {
pul;
par;
uc = 1;
return (2);
}
- Corrected: by using optimization level 6 or greater the following statement results in an endless loop:
void foo (void) {
unsigned short us;
volatile unsigned char uc = 0;
for ( us = 0; us <= 0; us++ ){
uc++;
}
}
- [A166 Macro Assembler]
- Corrected: a problem when using mutated vowels within macro statements.
- [System Viewer]
- Added: System Viewer description files for Infineon XC2000 devices in folder ..\C166\SFD\.
- Added: System Viewer description files for Infineon XE16x ULE\LE devices in folder ..\C166\SFD\.
- [Debugger]
- Added: unique tick marks for breakpoints.
- Added: dialogues which refers to System Viewer window.
- [AGSI Debug Interface]
- Added: CriticalSection to time-watch functions to avoid deadlocks when time-watches are set via AGSI asynchronously.
- Added: return error address of function SetOpc.
- Updated: notification messages for AGSI/AGDI functions.
- [Infineon DAS Driver]
- Added: help buttons for flash algorithms.
- [Device support]
- Added: new flash programming algorithms for Infineon XC2000 devices in folders ..\C166\Flash\XC2xxx\, ..\C166\Flash\XC2xxx_L_D_X\, ..\C166\Flash\XC2xxx_H_C_X\, and ..\C166\Flash\XC2xxx_M_A_X\. These algorithms use a pattern check function to speed up flash download.
- [µVision4]
This C166 release comes with µVision V4.22.00.
The C166 Version 7.04 product update replaces components of your current Tool Set with the latest versions. It includes an update to µVision Version 7.00.
What's new:
Infineon XE167xH-200F, XE167xH-136F, XE169xH-200F, XE169xH-136F, XC2288H-200F, XC2288H-136F, XC2289H-200F, XC2289H-136F, XC2298H-200F, XC2298H-136F, XC2299H-200F, XC2299H-136F, XC2388C-200F, XC2388C-136F, XC2387C-136F, XC2787X-200F, XC2787X-136F, XC2797X-200F, and XC2797X-136F.
Added: flash programming algorithms for Infineon XC2xxx-\H\C\X devices in folder ..\C166\Flash\XC2xxx_H_C_X\.
Added: flash programming algorithms for Infineon XC2xxx-\L\D\X devices in folder ..\C166\Flash\XC2xxx_L_D_X\.
Added: flash programming algorithms for Infineon XC2xxx-\N\B\X devices in folder ..\C166\Flash\XC2xxx_N_B_X\.
Added: flash programming algorithms for Infineon XC2xxx-\U\S\X devices in folder ..\C166\Flash\XC2xxx_U_S_X\.
Added: flash programming algorithms for Infineon XE16xFH devices in folder ..\C166\Flash\XE16xFH\.
Added: flash programming algorithms for Infineon XE16xFU devices in folder ..\C166\Flash\XE16xFU\.
Added: flash programming algorithms for Infineon XE16xyL devices in folder ..\C166\Flash\XE16xyL\.
Added: flash programming algorithms for Infineon XE16xyN devices in folder ..\C166\Flash\XE16xyN\.
Added: Blinky example for Infineon XC2288H device in folder ..\C166\Boards\Infineon XC2288H\.
Corrected: flash programming algorithms for Infineon XC2xxx-\M\A\X devices in folder ..\C166\Flash\XC2xxx_M_A_X\.
Added: Header files and startup code for the following Infineon devices: XC2200H series devices: XC2299H-200F, XC2299H-136F, XC2298H-200F, XC2298H-136F, XC2289H-200F, XC2289H-136F, XC2288H-200F, and XC2288H-136F.
XC2300C series devices: XC2388C-200F, XC2388C-136F, and XC2387C-136F.
XC2700X series devices: XC2797X-200F, XC2797X-136F, XC2787X-200F, and XC2787X-136F.
XE16xxH series devices: XE169xH-200F, XE169xH-136F, XE167xH-200F, and XE167xH-136F.
Corrected: BYTEALIGN may cause register overwrites on long, float, or double variables when addressing via a pointer that is assigned to register variables.
Corrected: BYTEALIGN caused byte access even to memory mapped peripheral registers that are referenced with pointer constant definitions. Pointer definitions with constant addresses are no longer affected by the BYTEALIGN directive.
Corrected: in XLARGE memory model the library functions memcpy, memcmp, strcpy, and strcmp had a potential problem when buffers cross a 64KB boundary.
Enhanced: memory types are not valid for chained variable definitions. For example: unsigned char huge v1, v2; // both v1 and v2 are located to 'huge' memory
This C166 release comes with µVision V4.14.16.