Keil C166 v7.54 uVision开发工具

软件大小:49 MB 软件性质: 免费软件
更新时间:2015-03-05 11:07:04 应用平台:Win9X/Win2000/WinXP
下载次数:6362 下载来源:米尔科技
软件语言:英文 软件类别:ARM开发工具 > Keil C166 开发工具
Keil C166 V7.54 uVision5开发工具 更新日志(2014年8月):

Release Date: 5 August 2014

  • [C166 Compiler]
    • Corrected: warning C912 'constant': value truncated removed on expressions that used local variables definition. Example:
      void main (void)
        unsigned char a = 8;
        unsigned char b = a + 5;   // <- Incorect warning generation C192: 'constant': value truncated.
    • Corrected: incorect return type conversion from int to huge pointer. Example:
      #include "string.h"
      int foo (char *a, char *b, unsigned char c, unsigned char d, unsigned char e) 
        return (c == d) && ((e == d) ? (a == b) : strcmp(a,b));         //  warning C40: 'int' converted to 'huge' pointer
    • Added: error E201 to show errors with 'const sdata' attributes.
  • [L166 Linker]
    • Increased: maximum amount of symbols for linking from 32000 to 48000.
  • [OH66 Object\Hex converter]
    • Enhanced: OH166 supports now an invocation line up to 255 characters.
  • [μVision Debugger\Simulator]
    • Corrected: the watch window displayed erroneously SFRs as 32 bit values. SFR values displayed correctly as 16 bit values.
    • Corrected: under some circumstances SIGNAL functions could change the content of the disassembly window. This problem was introduced with C166 version 753.
    • Corrected: under some circumstances after run a LOAD command, previously defined and used debug functions become undefined identifiers.
    • Improved: loader can read HEX files with corrupted line endings.
  • [μVision]
    • This C166 release comes with μVision V5.11.2.0.

C166 Version 7.53 Release

Release Date: 4 July 2013

  • [C166 Compiler]
    • Corrected: an address conversion error. Address conversion from xhuge address to 'unsigned long' does not consider 64K segment boundaries. Example:
      #pragma LARGE BROWSE MOD167 DEBUG
      unsigned char xhuge ucArr[0x20000];      // Assuming that this array is located at address 0x10204.
      unsigned int xhuge * Addr1 = &ucArr[0x10000];                     // The Addr1 is 0x20204 which is the expected address.
      unsigned long const  Addr2 = (unsigned long)(&ucArr[0x10000]);    // The Addr2 is 0x10204 which is an incorrect result.
                                                                        // This cast does not consider the 64K segment overvlow.
    • Corrected: a stack corruption when __inline function is used with OT(4) or greater. This problem was introduced with C166 version 750. Example:
      unsigned char g_ucArr[4]={0x10,0x11,0x12,0x13};
      static __inline void InlFnc(unsigned char par)
        signed long *slDat;
        unsigned char ucArr[4];
        slDat=(signed long *)ucArr;
      void foo(void)     // In function foo(), the compiler alocates only 2 bytes on the stack,
      {                  // while the object inside the inlined function InlFnc() needs 4 bytes.
       InlFnc(0);        // That causes corruption of other data on the stack.
  • [ULink2]
    • Since C166 version 7.52 the firmware of the ULINK2 target debuger will be updated to version 2 which will not work with older C166 installations.
      The .\C166\ULINK\Utilities\UL2_Configure.exe tool allows to switch back to an older firmware version when backward compatibility is needed.
  • [μVision4]
    • This C166 release comes with μVision V4.72.9.0.
    • Refer to Revision History for a complete list.














新闻中心 | 联系我们 | 招聘信息 | 留言反馈 | 典型客户 | © 2019 Myir
深圳总部: 0755-25622735 | 北京办事处: 010-84675491 | 上海办事处: 021-60317628 粤ICP备12005064号-1