Keil Logo

What's New in ARARM Version 2.00

  • [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 library routines may be used with the mutex object: 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.
  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.