Keil Logo

Release Notes for ARTX-166
Advanced Real-Time Operating System for the XC16x/C16x/ST10/Super10 Microcontroller Family

Download this Update

This file contains release notes and last minute changes.

Information in this file, the accompanying manuals, and software is
Copyright © Keil™, An ARM® Company.
All rights reserved.


  1. What's New in ARTX-166
  2. Technical Support
  3. Contact Details

What's New in ARTX-166

The following sections list the changes instituted in each release of the ARTX-166 Advanced Real-Time Kernel.

ARTX-166 Version 1.10 Release

  • [FlashFS]
    Corrected a file size calculation problem in the ffind function that occurred with files stored in multiple data blocks when some of the blocks had odd lengths.
  • [FlashFS]
    Corrected problems that could result from opening a single file multiple times (using the fopen function). Multiple write or append requests for the same file are now rejected Only multiple read requests are accepted.
  • [FlashFS]
    Corrected a problem that may be encountered when appending an odd number of bytes to a file.
  • [FlashFS]
    Corrected a problem in in the fdefrag function that could cause file system corruption when the fdefrag function is called and at least one file block\ had an odd number of bytes.
  • [Kernel]
    Corrected invalid Round-Robin time-out handling in the os_chk_robin function in the AR166_CONFIG.C configuration file.
  • [Kernel]
    Removed the int_lock function from the library. This function could cause potential problems when used with XC16x devices. All code sections protected from interrupts have been extracted and moved to AR_LIB.C. They are now protected using the ATOMIC, EXTP, and EXTS instructions.
  • [Kernel]
    Corrected an interrupt disable problem (for XC16x devices) in the tsk_lock function. Previously, the tsk_lock function could cause sporadic Kernel crashes because of a pipeline effect problem.
  • [Kernel]
    Updated the AR166_CONFIG.C configuration file for some of the enhancements and corrections in this release. To use this ARTX-166 release on older projects, you must replace prior configuration files with the AR166_CONFIG.C file provided with this release.
  • [TCPnet]
    Corrected a problem that prevented packets from being sent sequentially in the AX88796.C Ethernet device driver. This problem only manifested itself occasionally when running in low speed 10MBit LAN.
  • [TCPnet]
    Corrected a lock-up problem with the AX88796 Ethernet controller on high speed 100MBit LAN. This problem may occur when a burst of UDP broadcast packets is received and the CPU is too slow to process all the packets. The buffer overflow handler implemented in AX88796.C has been modified to properly recover from this condition.
  • [TCPnet]
    Corrected TCP packet retransmission problems. When a TCP packet was not acknowledged, after a time-out, the same packet should have been retransmitted. However, a corrupted packet was retransmitted.
  • [TCPnet]
    Added a 4-byte local buffer to the cgi_func function in the HTTP_CGI.C user-interface module. This changed the xcnt parameter to *pcgi — a pointer to 4-byte buffer. It may be used to store parameters for repeated calls to cgi_func.
  • [TCPnet]
    A length check has been added to the http_get_var function to avoid processing potential garbage in the buffer.
  • [TCPnet]
    Changed the memory space for Web server ROM files from the default memory model to xhuge. This allows smaller, efficient memory models for Web pages with large files.
  • [TCPnet]
    All TCPnet examples have been updated to run on both the MCB167-NET and MCBXC167 evaluation boards. Examples for the MCBXC167 use the ULINK JTAG interface for debugging.

ARTX-166 Version 1.02 Release

  • [FlashFS]
    Corrected a potential hang-up problem in the fflush function when writing an empty file.
  • [FlashFS]
    Corrected an invalid free space calculation when multiple files are stored. This problem could lead to file data memory corruption when storing files larger than the Flash Block.
  • [FlashFS]
    Added new maintenance functions ffree, fanalyse and fdefrag.
  • [TCPnet]
    Added support for multi-language web pages. The device is now able to recognize the client's browser language preference.
  • [TCPnet]
    Added Ethernet run-time configuration. This may be used to customize the user application for different environments with or without DNS. Configuration parameters are stored in EEPROM.
  • [TCPnet]
    Updated the get_host_by_name function to accept IP addresses in a string format.
  • [Kernel]
    Updates the AR166.CHM documentation online manual. All TCPnet applications are now fully documented. Many examples are updated and documented.
  • [Kernel]
    Updated the AT166_CONFIG.C configuration file. Older versions of this file are not compatible with this release of ARTX-166 and must be exchanged.
  • [ARTX166.DLL]
    Corrected problems in the debug DLL which caused incorrect timeouts to display for tasks waiting for a semaphore or mailbox. This problem existed only for memory models with near data memory.
  • [ARTX166.DLL]
    Corrected problems in the debug DLL which caused incorrect stack usage statistics to display for tasks with private stacks.

ARTX-166 Version 1.01 Release

  • [Kernel]
    Corrected an access violation problem in EC++ for memory models with far, huge and xhuge data.
  • [Kernel]
    A problem with the return codes from os_evt_wait_and and os_evt_wait_or was solved. When a task was waiting for an event and the event was sent from the isr_evt_set function a result code of OS_R_TMO was always received. This is now fixed.
  • [TCPnet]
    Solved a potential hang-up problem when a large number of broadcast packets are received in short period of time on the LAN.
  • [TCPnet]
    The CS8900A.C driver has been updated and should be replaced in existing projects. In addition, name conflicts have been solved and some files have been renamed. The TCPnet configuration file is now named AT166_CONFIG.C and the debug configuration file is named AT166_DEBUG.C.
  • [TCPnet]
    An SMTP client has been implemented in TCPnet. It may be used to send e-mail from the embedded application.

ARTX-166 Version 1.00 Release

  • [Kernel]
    Solved a problem with EC++ incompatibility for mailbox and semaphore objects. For this reason, the TCB (Task Control Block) pointers have been changed from near to default memory model. The old debug driver ARTX166.DLL is not compatible with new TCB structure and must be replaced.
  • [FlashFS]
    Renamed some source files to avoid name conflicts. The FlashFS configuration file is now named AF166_CONFIG.C.
  • [FlashFS]
    Added support for single Flash devices. A single large Flash device may now be used for storing files and application code. New maintenance functions fformat and ffind were added.
  • [ARTX-166]
    The Kernel and FlashFS libraries are now built with debug information. This enables source-level debugging within the kernel (you must specify the source path to the kernel source to the debugger).

ARTX-166 Version 1.00 Beta 9 Release

  • [Kernel - Problems Solved]
    The potential interrupt disable hang-up problem has been solved. The functions tsk_lock and tsk_unlock from the AR166_CONFIG.C file has been changed to avoid pipeline effects. Old versions of AR166_CONFIG.C configuration file are not compatible with this version of ARTX-166 and must be exchanged.
  • [TCPnet - Problems Solved]
    The problem of DHCP Client not working for Windows 2000 Server has been solved.
  • [TCPnet - Enhancements]
    The DNS Client has been implemented. Using DNS Client you may resolve the target host IP address by the host's name from the DNS Server database.

ARTX-166 Version 1.0 Beta 8 Release

  • [ARTX-166 - Problems Solved]
    Potential hang-up problem when Ethernet cable is disconnected during an established connection.
  • [ARTX-166 - Enhancements]
    PPP and SLIP protocol is implemented.  The file NET_CONFIG.C is updated accordingly.  Older versions of this network configuration file are not compatible to this version of ARTX-166 and must be exchanged.

Technical Support

At Keil Software, we are dedicated to providing you with the best development tools and technical support. That's why we offer numerous ways you can get the technical support you need to complete your embedded projects.

  • Technical Support Knowledgebase
    More than 1500 technical support questions and answers are available in the Support Solutions Knowledgebase. When a new question arises, it is added to the knowledgebase which is continuously published to the Web. This enables you to get technical support at times when our support staff is unavailable.
  • Application Notes
    Numerous Application Notes help you decipher complex features and implement robust applications.
  • Example Programs and Files
    Utility programs, example code, and sample projects are regularly added to the Download File section of the web site.
  • Discussion Forum
    Post questions, comments, and suggestions to the Keil Software Discussion Forum and interact with other Keil users around the world.

Many of the features of our Technical Support Knowledgebase and Web Site are the results of your suggestions. If you have any ideas that will improve them, please give us your feedback!

Contact Details

If you experience any problems or have any questions about this product, contact one of our distributors or offices for assistance.

In the USA...

Keil Software, Inc.
1501 10th Street, Suite 110
Plano, TX  75074

800-348-8051 - Sales
972-312-1107 - Support
972-312-1159 - Fax
- Sales E-Mail
- Support E-mail 

In Europe...

Keil Elektronik GmbH
Bretonischer Ring 15
D-85630 Grasbrunn

+49 89 456040-0 - Sales
+49 89 456040-24 - Support
+49 89 468162 - Fax
- Sales E-Mail
- Support E-Mail

Copyright © Keil™, An ARM® Company.
All rights reserved.
Visit our web site at

  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.