Keil Logo

What's New in C51 Version 9.52

  • [Cx51 Compiler]
    • Modified: the warning C294: unreachable code will be issued instead of a compiler error for unreachable code statements. Example:
      int foo = 1 ;
      int bar ;
      
      int main( void )
      {
        switch( foo )
        {
          bar = 0 ;   // warning C294: unreachable code
          case 1:
            bar = 1 ;
            break ;
          case 2:
            bar = 2 ;
            break ;
        }
        return( 0 ) ;
      }
      
    • Corrected: wrong XDATA address calculation which may occurs with combined pointer and int arithmetic. Example:
      unsigned char xdata b[256];  // Problem does not exist when array size > 256
      void xdata *p;
      unsigned int i = 256;
      
      void main (void) {
        p = &b[256-i];     // Correct result.
        p = b + 256 - i;   // Incorrect result. Only the LOW BYTE of i has been used for the calculation.
      }
      
    • Corrected: an ignored pointer cast which occurs under some circumstances with far and generic pointers. Example:
      unsigned short foo (char far *farPtr) {
      
        return (unsigned char) farPtr;  // Explicite cast is ignored.
      }
      
  • [LX51 Linker/Locater]
    • Corrected: a wrong address calculation which occurs when const in code banks combined with linker code packing.
    • Added: Error 144: OVERLAY GROUP SEGMENT CANNOT HAVE 'LAST' ADDRESS ASSIGNMENT message. The LAST attribute cannot be used to locate segments that collect overlayable segments.
  • [AX51 Assembler]
    • Corrected: an erroneously issued error A57 'REGISTER USAGE' REQUIRES A PUBLIC CODE SYMBOL which occurs when REGUSE directive is used by mixed-case (composed by upper and lower case characters) symbols.
  • [New Supported Devices]
  • [ULink2]
    • Wiht this release the firmware of the ULINK2 target debuger will be updated to version 2 which will not work with older C51 installations.
      The .\C51\ULINK\Utilities\UL2_Configure.exe tool allows to switch back to an older firmware version when backward compatibility is needed.
  • [µVision4]
    • This C51 release comes with µVision V4.72.9.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.