Keil Logo

What's New in C166 Version 7.54

  • [C166 Compiler]
    • There is a compatibility issue between C166 V7.54 and AR166 versions equal or less than 3.20. If you want to use this combination, you must add one #pragma NOFRAME directive just above the ISR 'function os_tmr_interrupt' in file C:\Keil\C166\inc\AR166_lib.c.
      However, we recommend to update AR166 to version 3.30. Example:
      #pragma NOFRAME        /* This directive is absolutely necessary since C166 version 7.54 */
      void os_tmr_interrupt (void) interrupt TxINTNR {
        __asm { JMP OS_CLOCK_INTERRUPT };
      }
      
    • 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;   // <- Incorrect 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.
    • Corrected: When using the RESERVE directive the VECTAB offset is now considered. Previously this caused issues when the vector table is filled using INTNO(func(FILL)).
    • [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.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.