Keil Logo

Release Notes for ARTX-ARM
Advanced Real-Time Operating System for the ARM 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-ARM
  2. Technical Support
  3. Contact Details

What's New in ARTX-ARM

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

ARTX Version 2.02 Release

  • [ARTX]
    Corrected a problem in the Flash File System function fdefrag. If a defragmentation was requested for a file system with three or more files and if one of the files was deleted the file system may be come corrupted. This was the case when one of the files with file ID inside the range of all used file IDs was deleted before a call to this function.
  • [ARTX]
    Updated all ARTX USB examples to pass the USBCV - USB Command Verifier test. All ARTX USB examples now pass this test.
  • [ARTX]
    Corrected a potential problem with the memory example program ARTX_Memory. This example could hang when connected to some of Windows XP hosts.

ARTX Version 2.01 Release

  • [Kernel]
    Corrected a potential system hang when the os_mbx_send routine was called with parameter timeout set to 0. If a mailbox was already full a system could hang in an endless loop.
  • [Kernel]
    Corrected a problem with the os_mut_wait routine. When a mutex was released and acquired again with no delay, other tasks waiting for this mutex would become ready and acquire a mutex which was already owned by another task.
  • [Kernel]
    Corrected a problem of failed Round Robin task switching. This problem appeared when a higher priority tasks were running. If a higher priority task was delayed by os_dly_wait or os_itv_wait with a delay time equal to or less than the Round Robin timeout, a Round Robin task switch failed.
  • [TCPnet]
    Added physical link speed select macros for the LAN91C111.C device driver. These macros allow you to connect only at 10 or 100 Mbs. Auto-negotiation is used by default (this might take longer time to connect).
  • [TCPnet]
    Corrected a problem of not sending subnet broadcast packets on the local LAN. When a UDP send packet was requested with the destination IP address as a subnet broadcast, an ARP request was sent to resolve the MAC address. Because there was no reply received, the packet was never really sent on the wire. This is now fixed and UDP subnet broadcast packets are sent using a Broadcast MAC address FF:FF:FF:FF:FF:FF.
  • [TCPnet]
    Corrected a problem handling broadcast and subnet broadcast addresses for the arp_cache_ip routine. If the IP address is an IP broadcast or subnet broadcast address this function returns __TRUE and does not send an ARP request for resolving the IP address.
  • [TCPnet]
    Corrected a problem of sending invalid TCP retransmission packets for second and any subsequent retransmissions. Each retransmission extends the packet size by adding header length and appending garbage data to the end of the packet.

ARTX Version 2.00 Release

  • [ARTX]
    Added a Flash File System implementation that supports embedded Flash drives and RAM drives which may be used simultaneously to store and retrieve files.
  • [ARTX]
    Added a CAN Driver implementation based on the ARTX Kernel. It currently supports Philips LPC2000 and ST STR7 device families. Two examples are available: CAN_Ex1 and CAN_Ex2. These examples are configured to run on the Keil MCB2100 and MCBSTR7 evaluation boards.
  • [ARTX]
    Added a USB Driver implementation that uses the ARTX Kernel to process USB packets. The following examples are available: ARTX_Audio, ARTX_HID, and ARTX_Memory. These examples run on the Keil MCB2140 evaluation board.
  • [ARTX]
    Added the following new type definitions to the ARTX.H header file to avoid conflicts with other source code: U8, U16, U32, S8, S16, S32, BIT, BOOL, __TRUE, and __FALSE. These replace the following old types: BYTE, WORD, DWORD, TRUE, and FALSE. Source files and documentation have been modified to reflect these changes.
  • [Kernel]
    Added a new synchronization object mutex for mutual exclusion locks. The following functions were implemented: os_mut_init, os_mut_wait, and os_mut_release.
  • [Kernel]
    Added a Stack Checking option to the ARTX_CONFIG.C configuration file. When this option is enabled, the ARTX Kernel performs additional checks for stack-overflow conditions.
  • [Kernel]
    Added the following new library routines:
    • os_sys_init_user which allows you to start the ARTX Kernel with a task using a user-provided stack.
    • os_sys_init_prio which allows you to start the ARTX Kernel with a task using a specified priority.
  • [Kernel]
    Corrected a potential problem of blocking the interrupt system for some ARM devices. This could happen if the default interrupt handler os_def_interrupt was executed. This handler, located in ARTX_CONFIG.C, has now been updated to release the ARM interrupt system by acknowledging the interrupt.
  • [Kernel]
    Corrected a problem that causes incorrect interval delays when execution between os_itv_set and os_itv_wait takes more clock ticks than specified with the os_itv_set function. The following example demonstrates this problem:
    void task1 (void) __task {
        .
        .
       os_itv_set (100);
       for (;;) {
           .
           .
          /* Execution here may take longer than 100 clock ticks.   */
          os_itv_wait ;  /* If 100 clock ticks have passed,       */
                           /* this will wait for 65535 clock ticks. */
       }
    }
    
  • [Kernel]
    The ARTX_CONFIG.C configuration file has been updated. Applications using the previous configuration file must be updated with the new configuration file.
  • [TCPnet]
    A TFTP Server has been added. It supports file upload and download to the Flash File System drives.
  • [TCPnet]
    Added an example, TFTP_demo, which demonstrates how to use the TFTP Server.
  • [TCPnet]
    Added a new ARP cache control function arp_cache_ip that may be used to resolve the remote MAC address before the first UDP data packet is sent to a target. If the remote MAC address is not resolved from the ARP cache, the sent UDP data packet failed and packets were lost until the ARP entry was cached.
  • [TCPnet]
    Added an example for the HTTP Server running with the ARTX Kernel. The older example, HTTP_demo, has been updated to work in either of two modes: a standalone application or an HTTP Server running with ARTX Kernel.
  • [TCPnet]
    Modified the names of library routines MemCpy, MemSet, MemCmp, and StrCpy to avoid confusion with the standard C string functions. New routines are named: mem_copy, mem_set, mem_comp, and str_copy.
  • [TCPnet]
    Corrected a problem in the ARP module which transmitted invalid IP addresses for ARP requests. This happened when an ARP Cache Entry was refreshed or ARP request was retransmitted.
  • [TCPnet]
    Added checking for destination IP address 0.0.0.0 to the TCP module. TCP Connect requests to this address are now blocked. This prevents sending ARP requests for IP address 0.0.0.0.

ARTX Version 1.10 Release

  • [Kernel]
    Added the os_evt_get event handling function which returns event flags served by the os_evt_wait_or function.
  • [Kernel]
    Added the following examples to the \KEIL\ARM\ARTX\EXAMPLES\ base folder:
    • RoundRobin demonstrates round-robin task switching.
    • Semaphore demonstrates how to use a shared resource (a UART) from different tasks using a semaphore.
  • [Kernel]
    Corrected a configuration problem of the timer tick reload in the ARTX_CONFIG.C configuration file for OKI and ST devices. Improper timer tick reload could cause stalls in Kernel delay handling when isr_mbx_send, isr_evt_set, and isr_sem_send functions were used.
  • [Kernel]
    Corrected a problem with invalid delays when frequent isr... function calls were made from interrupt routines. This could cause shorter delays than specified for os_dly_wait, os_itv_wait, and other system delay and timeout functions.
  • [Kernel]
    Corrected a problem in os_mbx_wait and os_sem_wait functions when they were called with the timeout parameter set to 0. In this case the function returned a wrong result value. The timeout value 0 is used to fetch a message or obtain a token from a semaphore without waiting.
  • [Kernel]
    Modified the ARTX_CONFIG.C configuration files for all device variants. The function os_tmr_set_ovf has been replaced with by the os_tmr_force_irq function.

    ARTX_CONFIG.C has been updated and is no longer compatible with older versions.
  • [TCPnet]
    Corrected a problem in the Telnet server when some characters were not echoed back. This problem occurred if typing on the remote Telnet client was too fast.
  • [TCPnet]
    Corrected a problem of locking-up an LAN91C111 Ethernet controller on high traffic LANs. This problem could occur when a lot of packets are received in a short time and the CPU is not fast enough to process them. When the MMU unit of the LAN91C111 Ethernet controller is locked, the driver now restarts the MMU unit to prevent lockups.
  • [TCPnet]
    Added configurable PPP retransmissions and timeouts to the ANET_CONFIG.C configuration file. You may increase the default timeouts and number of retransmissions when PPP connections fail on slow serial links or when network latency is high (as may be the case with 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 IP or MAC addresses.
  • [TCPnet]
    Added a serial driver for Philips LPC21xx devices. This driver is used for serial PPP or SLIP connections. The following serial drivers are currently available:
    • \KEIL\ARM\ARTX\SRC\TCPNET\SERIAL.C for Philips LPC21xx and LPC22xx devices.
    • \KEIL\ARM\ARTX\SRC\TCPNET\SERIAL_S3C44B0X.C for Samsung S3C44B0X devices.

    ARTX_CONFIG.C has been updated and is no longer compatible with older versions.

ARTX Version 1.02 Release

  • [Kernel]
    Added ARTX_CONFIG.C configuration files for OKI devices. See \KEIL\ARM\STARTUP\OKI\ARTX_CONF_ML67.C for OKI ML67xxx devices.

ARTX-ARM Version 1.01 Release

  • [ARTX-ARM]
    Added example projects for the following target hardware:
    • Analog Devices ADuC702x Evaluation Board (\KEIL\ARM\BOARDS\ADI\ADUC702X\ARTX_BLINKY) For Analog Devices ADuC702x Devices
    • Atmel AT91SAM7S Microcontroller Board (\KEIL\ARM\BOARDS\ATMEL\AT91SAM7S\ARTX_BLINKY) For Atmel AT91SAM7S Devices
    • Hitex STR7 Evaluation Board (\KEIL\ARM\BOARDS\HITEX\STR7\ARTX_BLINKY) For STMicroelectronics STR71x Devices
    • Keil MCB2100/2130 Evaluation Board (\KEIL\ARM\ARTX\EXAMPLES\BLINKY) For Philips LPC21xx Devices
    • STMicroelectronics STR7 Evaluation Board (\KEIL\ARM\BOARDS\ST\STR7\ARTX_BLINKY) For STMicroelectronics STR71x Devices
  • [Kernel]
    Added device-specific configuration files for the following:
    • Analog Devices ADuC702x (\KEIL\ARM\STARTUP\ADI\ARTX_CONF_ADUC702X.C)
    • Atmel AT91SAM7Sxx (\KEIL\ARM\STARTUP\ATMEL\ARTX_CONF_SAM7S.C)
    • Philips LPC21xx and LPC22xx (\KEIL\ARM\STARTUP\PHILIPS\ARTX_CONFIG.C)
    • STMicroelectronics STR71x (\KEIL\ARM\STARTUP\ST\ARTX_CONF_STR71X.C)
  • [Kernel]
    Modified the ARM-Specific Software Interrupt Handler (in SWI_ARTX.S) to make it generic for all ARM devices. Some devices may require a NOP instruction to avoid Data Abort traps between stack switching.
  • [Kernel]
    Enhanced the Stack Load display in the µVision Advanced RTX Dialog (available from the Peripherals Menu while debugging). Stack details are no updated from the current stack pointer value.

ARTX-ARM Version 1.00a Release

  • [Kernel]
    Added the os_tsk_create_ex and os_tsk_create_user_ex functions. These routines make it possible to pass a parameter to a task when it is created. This is useful when creating multiple instances of a single task.
  • [Kernel]
    Added the os_tsk_prio function which allows a task to change the priority of other tasks in the system.
  • [Kernel]
    Added the os_tsk_prio_self routine which allows a task to change its own priority.
  • [Kernel]
    The ARTX_CONFIG.C configuration file has been updated. Applications using the previous configuration file must be updated with the new configuration file.

ARTX-ARM Version 1.00 Release

  • [Kernel]
    Optimized and updated the task switch function.
  • [Kernel]
    Updated the ARTX_CONFIG.C configuration file to support the µVision debug dialog.
  • [Kernel]
    Updated documentation and added context-sensitive help within µVision.
  • [Kernel]
    Updated examples to run on the MCB2100 and MCB2130 Evaluation Boards.

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.