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.


Contents

  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.

AR166 Version 2.00 Release

  • [Kernel]
    Added new functions os_tsk_create_ex and os_tsk_create_user_ex which allow you to pass a parameter to a task when it is created. This is useful when a single task is started in multiple instances. Each instance may receive a different parameter value.
  • [Kernel]
    Changed the tick timer setup in the configuration so that manual calculation of the reload value is no longer required. Now, you must specify the counter clock in Hz and the desired tick rate in milliseconds.
  • [Kernel]
    Fixed a core problem in the os_tmr_kill function. This function could fail to kill a created user timer for far data and huge data memory models.
  • [AR166]
    Type definitions from the AR166.H header file have been changed to avoid conflicts. New types are: U8, U16, U32, S8, S16, S32, BIT, BOOL, __TRUE, and __FALSE. New types have replaced old types: BYTE, WORD, DWORD, TRUE, and FALSE. Source files and documentation have been updated to reflect those changes.

    NOTE: Old versions of AR166_CONFIG.C configuration file are not compatible with this version of ARTX-166 and must be replaced.
  • [TcpNet]
    Added a new ARP cache control function arp_cache_ip. This routine may be used to resolve the remote MAC address before the first UDP data packet is sent to a target system. Previously, if the remote MAC address was not resolved from the ARP cache, sending UDP data packets failed and packets were lost until the ARP entry was cached.
  • [TcpNet]
    Removed word access optimization macros from all functions where the user has provided an IP address. When the user-provided IP address was not word-aligned, a Class-B trap was generated.
  • [TcpNet]
    Corrected a problem in the ARP module which transmitted invalid IP addresses for ARP requests. This could occur when ARP cache entries were refreshed or an ARP request was retransmitted.
  • [Flash File System]
    Added a new file maintenance function fcheck that may be used to check the Flash File System consistency. If the check fails, Flash File System requires formatting.
  • [TcpNet]
    Added a check to the TCP module for destination IP address 0.0.0.0. TCP connect requests to this address are now blocked by the TCP module. This prevents sending ARP requests for IP address 0.0.0.0.
  • [TcpNet]
    Added an example for the HTTP Server. The existing example HTTP_demo was upgraded to work in either of two modes:
    1. A standalone application.
    2. HTTP Server running with ARTX Kernel.
  • [TcpNet]
    Renamed library functions MemCpy, MemSet, MemCmp and StrCpy to avoid confusion with the standard C string functions. New function names are: mem_copy, mem_set, mem_comp, and str_copy.

AR166 Version 1.20 Release

  • [Kernel]
    Corrected a core problem of invalid delays when frequent isr_... functions were called from interrupt routines. This problem could cause shorter delays than specified for os_dly_wait, os_itv_wait, and other system delay and timeout routines.
  • [Kernel]
    Corrected a problem in the os_mbx_wait and os_sem_wait functions when they were called with the timeout parameter set to 0 (which is used to fetch a message or obtain a token from a semaphore without waiting). In such cases, the functions returned incorrect result values.
  • [Kernel]
    Added a Semaphore example which shows how to use a shared resource (a UART in this example) from different tasks using a semaphore. This example is located in the \KEIL\C166\AR166\EXAMPLES folder.
  • [TcpNet]
    Corrected a problem with the udp_send function. This function required a word-aligned remote IP address. If remip was not word-aligned a Class-B Trap was generated.
  • [TcpNet]
    Corrected a problem in the DNS client that caused it to incorrectly switch between the primary and secondary DNS servers. This problem generated UDP packets with the destination IP address set to 0.0.0.0 if no secondary DNS server was specified.

AR166 Version 1.12 Release

  • [Kernel]
    Added the os_evt_get event handling function, which returns event flags served by the os_evt_wait_or function.
  • [Kernel]
    Modified the os_tsk_prio function to change the execution priority of any other task. A new macro os_tsk_prio_self has been introduced for consistency to change a priority of a currently running task.
  • [Kernel]
    Added a RoundRobin example which shows round-robin task switching. This example is located in \KEIL\C166\AR166\EXAMPLES folder.
  • [TcpNet]
    Corrected a problem in the Telnet server when some characters were not echoed back. This happened if typing on remote Telnet client was too fast.
  • [TcpNet]
    Added configurable PPP retransmissions and timeouts to AT166_CONFIG.C configuration file. You may increase the default timeouts and number of retransmissions when PPP connect fails on slow serial links or when the network latency is high - for example a GSM PPP data link.
  • [TcpNet]
    Added new functions http_get_info and tnet_get_info to retrieve the remote machine IP address and MAC address. These functions may be used to limit access rights from remote machines based on remote IP address or MAC address.

    NOTE: Old versions of AR166_CONFIG.C configuration file are not compatible with this version of ARTX-166 and must be replaced.

AR166 Version 1.10a Release

  • [TcpNet]
    Corrected a problem that caused AX88796 Ethernet controllers to lock-up on high speed 100MBit LANs. This problem could occur when a burst of UDP broadcast packets is received and the CPU is not fast enough to process all of the packets. When the remote DMA is locked, the driver now restarts the AX88796 Ethernet controller to prevent lock-ups.
  • [AR166]
    The AR166.CHM documentation has been updated. You may now use context help by pressing F1 in the µVision editor.

ARTX-166 Version 1.10 Release

  • [Flash File System]
    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.
  • [Flash File System]
    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.
  • [Flash File System]
    Corrected a problem that may be encountered when appending an odd number of bytes to a file.
  • [Flash File System]
    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.

    NOTE: Old versions of AR166_CONFIG.C configuration file are not compatible with this version of ARTX-166 and must be replaced.
  • [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

  • [Flash File System]
    Corrected a potential hang-up problem in the fflush function when writing an empty file.
  • [Flash File System]
    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.
  • [Flash File System]
    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]
    Updated 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.

    NOTE: Old versions of AR166_CONFIG.C configuration file are not compatible with this version of ARTX-166 and must be replaced.
  • [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.
  • [Flash File System]
    Renamed some source files to avoid name conflicts. The FlashFS configuration file is now named AF166_CONFIG.C.
  • [Flash File System]
    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.

    NOTE: Old versions of AR166_CONFIG.C configuration file are not compatible with this version of ARTX-166 and must be replaced.
  • [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]
    Corrected a potential hang-up problem when the Ethernet cable is disconnected during an established connection.
  • [ARTX-166]
    PPP and SLIP protocols have been 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
USA

800-348-8051 - Sales
972-312-1107 - Support
972-312-1159 - Fax

sales.us@keil.com
- Sales E-Mail
support.us@keil.com
- Support E-mail 
  

In Europe...

Keil Elektronik GmbH
Bretonischer Ring 15
D-85630 Grasbrunn
Germany

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

sales.intl@keil.com
- Sales E-Mail
support.intl@keil.com
- Support E-Mail
  


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

  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.