| | |

keil c166 v7.54 uvision开发工具 -金沙js1005线路

软件大小:49 mb 软件性质: 免费软件
更新时间:2015/3/5 11:07:04 应用平台:win9x/win2000/winxp
下载次数:8278 下载来源:米尔科技
软件语言:英文 软件类别: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.
        while(1);
      }
      
    • 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.
    • 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];
        ucarr[0]=g_ucarr[3];
        ucarr[1]=g_ucarr[2]; 
        ucarr[2]=g_ucarr[1]; 
        ucarr[3]=g_ucarr[par]; 
        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.
      } 
      
    • 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.
    • this c166 release comes with μvision v4.72.9.0.
    • refer to  for a complete list.

开发板资料

arm开发工具

arm工具手册

资料下载

软件例程

演示视频

hmi资料

充电桩资料

工控板资料

本类下载top10

相关文章

常见问题解答

网站地图