Keil C51 V9.51
官方发布日期:Monday, January 21, 2013
官方下载地址:
http://www.keil.com/fid/ov3ad19320dj1wpthv11dqj6fw3ocqd1jye6d1/files/eval/c51v951.exe
或者下载附件:(由于等级所限,上传附件总大小只有10M,故暂时无法上传。)
C51 Version 9.51 Release
[New Supported Devices]
Silicon Laboratories Inc.
C8051F370, C8051F371, C8051F374, C8051F375, C8051F390, C8051F391, C8051F392, C8051F393, C8051F394, C8051F395, C8051F396,
C8051F397, C8051F398, C8051F399, C8051T620, C8051T621, C8051T622, C8051T623, C8051T626, and C8051T627.
[Cx51 Compiler]
Corrected: calculation of negative constants within nested calls may create incorrect results (this problem was introduced in C51 V9.50a). For example:
#define TDO 5
#define GET_TDO() (Arr[TDO])
unsigned char xdata Arr[10];
unsigned char TestTDO() {
unsigned char ret;
ret = (unsigned char)(((GET_TDO()-1)*2)-1); // Incorrect result. For the negative constant a subtraction has been used instead of an addition.
return ret;
}
Corrected: incorrect pointer arithmetic with subtract of unsigned int variables for XDATA arrays with sizeof < 256 bytes. For example:
unsigned char xdata b[256]; /* Problem does not exist when array size > 256 */
void xdata *p;
unsigned int i = 256; /* Problem only appears for unsigned int variables */
void main (void) {
p = &b[256-i]; /* Works no problem when array index is used */
p = b + 256 - i; /* Failed on pointer arithmetic when uint variable is subtracted */
}
[LX51 Linker/Locator]
Corrected: a potential DPTR corruption which may occurs in code-banking applications when Global Register Coloring is enabled.
[µVision]
This C51 release comes with µVision V4.60.6.8.
Enhanced: the Logic Analyzer allows rearranging signals through a simple drag&drop of the signal name. Signals can be scaled in width and height.
Corrected: under certain circumstances the Source Browser incorrectly reported several definitions of an "enum".
Refer to uVision Revision History for a complete list.
一周热门 更多>