Keil Logo

What's New in C166 Version 6.00a

C166 Version 6.00a Release

  • [OCDS Debugging Support]
    Added detection of the C164CM device ID in the UL2OCDS driver.
  • [OCDS Debugging Support]
    Added a flash programming algorithm for C16x-8F devices.

C166 Version 6.00 Release

  • [uVision3 IDE/Debugger/Simulator]
    Added simulation for PEC Channel link with XC16x devices.
  • [C166 Compiler]
    Improved the efficiency of Common Sub-Expression Elimination.
  • [C166 Compiler]
    Improved access for long variable types and 32-bit pointers.
  • [C166 Compiler]
    Improved Register Variable Lifetime Analysis so that more optimal registers are used for automatic variables. This optimization improves execution speed and code density. On some functions, this optimization improves the code density and execution speed up to 20%.
  • [C166 Compiler]
    Added SAVEMAC and NOSAVEMAC directives to enable/disable saving and restoring MAC registers in interrupt service routines.
  • [C166 Compiler]
    Corrected a problem with the free function. When all memory blocks were allocated the free function, in some instances, generated invalid reference lists.
  • [C166 Compiler]
    Corrected a problem with the printf, sprintf, scanf, and sscanf functions when the format string crossed a 64KB memory boundary in HLARGE model.
  • [C166 Compiler]
    Corrected a problem in MAC multiplication on XC16x devices that caused invalid results when CoSHL was used.
  • [L166 Linker/Locater]
    Added ELF output support. A new linker directive ELF (elf_output_file) allows you to generate an ELF/DWARF compatible output file. This file may be used by third-party tools to analyze memory contents or symbol information. The ELF/DWARF file may be loaded by the uVision Debugger.
  • [XC16x ULINK Driver]
    Added a configuration register (OPSEN) to START_V2.A66 file to allow stopping specific peripherals during debugging. Refer to C166: DO PERIPHERALS STOP WITH ULINK DEBUGGING for more information.
  • [XC16x ULINK Driver]
    Changed the default setting of the Branch Prediction Unit (CPUCON1.1) in START_V2.A66. The branch prediction unit may incorrectly jump to address 0x0020 when the Step Into command reached a breakpoint and the previous instruction was a JMP.
  • [XC16x ULINK Driver]
    Corrected a problem with Flash Programming that did not program on the boundary between on-chip and off-chip Flash ROM.
  • [XC16x ULINK Driver]
    Corrected a problem with char or unsigned char automatic variables that might have shown incorrect values in the highest nibble.
  • [Monitor-166]
    Added a new monitor configuration for the Keil MCBXC167 Board.
  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.