Technical Support
Support Resources
Product Information
|
What's New in C51 Version 9.05
-
[C51 Compiler]
-
Improved: access to bit-field members with size 1 bit. The
compiler uses bit instructions to access such bit-field members
objects that are defined with the bdata memory
type. This is now extended also to structs that are defined
with the extern attribute.
-
Corrected: Common sub-expression elimination can deliver
incorrect values when array pointers are used. Example:
int foo (unsigned char dat[]) {
int len1, len2, ofs;
ofs = 5;
len1 = dat[ofs];
if(len1 > 0x10) return -1;
ofs += len1 + 1; // modify 'ofs'
len2 = dat[ofs]; // 'dat[ofs]' not reloaded, instead value of 'len1' is used
return len2;
}
-
Corrected: Wrong code with pointer arithmetic and
conversions to long. Example:
unsigned char *p;
unsigned int code a1[10];
unsigned char xdata a2[500;
void foo (void) {
unsigned long r1 = (unsigned long)(p - (a2 + a1[0])); // wrong
unsigned long r2 = (unsigned long)(p - (unsigned long)(a2 + a1[0])); // work around
}
-
Corrected: Pointer arithmetic with conversion to 'unsigned
long' rejected. Example:
unsigned char xdata *ptr1;
unsigned char xdata *ptr2;
unsigned long i4;
void foo (void) {
i4 = (ptr1 - ptr2); // pointer conversion rejected, instead an error was issued
}
-
[LX51 Linker/Locater]
-
Corrected: When Linker Code Packing is used with a banking
application,segments or the content of segments may get lost.
This problem was introduced with C51 Version 9.03.
-
[New Supported Devices]
-
CoreRiver ADCore200,
ADCore210,
ADCore220,
AmpCore100,
ChargerCore2.0,
GC230, GC400,
GC410, GC81L541A0,
GC81L581A0,
GC81L591A0,
GC89L541A0,
GC89L581A0,
GC89L591A0, and
HallCore110
davices.
-
Nuvoton N78E055A, N78E059A, N78E366A, N78E517A, N79E234, N79E235, N79E342, N79E352, N79E822, N79E823, N79E824, N79E825, N79E843, N79E844, N79E845, N79E853, N79E854, N79E855, N79E875, W78E051D, W78E052D, W78E054D, W78E058D, and
W78E516D
devices.
-
Silabs C8051T620,
C8051T621,
C8051T622,
C8051T623,
C8051T320,
C8051T321,
C8051T322,
C8051T323,
C8051T326,
C8051T327,
C8051F380,
C8051F381,
C8051F382,
C8051F383,
C8051F384,
C8051F385,
C8051F386, and
C8051F387,
devices.
-
[µVision4]
This C51 release comes with µVision V4.22.00.
|