Technical Support
Support Resources
Product Information
|
Release Notes for RL-ARM
RealView Real-Time Library 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
- What's New in RL-ARM
- Technical Support
- Contact Details
What's New in RL-ARM
The following sections list the changes instituted in each release
of the RealView Real-Time Library.
RL-ARM Version 3.04 Release
-
[Real-Time Library]
Updated the STMicroelectronics STR9 startup configuration files STR91X.S.
-
[Real-Time Library]
Updated examples for the MCBSTR9 Evaluation Board.
-
[RTX Kernel]
Added RTX Kernel support for the Cortex-M3 architecture. An RTX_Blinky example
for Luminary Micro LM3S102 device has been added to the \KEIL\ARM\RV30\RTL\BOARDS\Luminary\
folder.
-
[RTX Kernel]
Corrected a core problem of the SWI_Handler that occurred when accessing user registers.
Setting a user Link Register on a task switch failed for Atmel AT91RM9200 devices.
The LDMDB SP,{SP,LR}^ instruction does not work for these devices. The workaround
implemented uses a different instruction (which works for all ARM devices) to set
the user LR.
-
[RTX Kernel]
Corrected a problem with the os_tsk_prio() function. It did not work
correctly when the priority of a delayed task was changed.
-
[TCPnet]
Added configurable Web Server Error Pages. Http Server 40x Error Pages are
extracted to a single file (HTTP_ERR.C) which you may copy to your
project and customize.
-
[TCPnet]
Corrected a problem with the PPP module in the LCP negotiation phase.
Because of this problem, TCPnet failed to connect to some GPRS modems when
TCPnet was much faster than modem.
-
[TCPnet]
Corrected a problem with the PPP Client module. This module sent a
PPP authentication request when authentication was not requested by
the remote PPP Server.
-
[Flash File System]
Added support for SD/MMC Flash Memory Cards (up to 2 GBytes) formatted with
FAT12 or FAT16.
RL-ARM Version 3.03 Release
-
[Real-Time Library]
Added support for Atmel AT91SAM7X devices. Added the RTX_CONFIG.C RTX Kernel
configuration file and the AT91_EMAC.C embedded EMAC Ethernet controller driver.
Preconfigured examples for the AT91SAM7X-EK Atmel Evaluation Board are located in the
\KEIL\ARM\RV30\RTL\BOARDS\ATMEL\ folder.
-
[RTX Kernel]
Added mutex task priority inversion/inheritance. When a medium-priority task
preempts a lower-priority task using a shared resource (a mutex) on which a
higher-priority task is pending, the priority of lower-priority task is temporary
raised to the priority level of a higher-priority task. As soon as the lower-priority
task releases the mutex, its priority level is restored to its original value.
-
[RTX Kernel]
Corrected a problem in RTX_CONFIG.C for all Atmel devices. The interrupt
acknowledge sequence was incorrect and could cause system dead-locks when additional
IRQ interrupts were enabled. If isr_xxx_ functions were called from the interrupt
handler, the interrupt system might not be properly released and would not accept
subsequent timer tick interrupts.
-
[RTX Kernel]
Corrected a problem in RTX_CONFIG.C for STMicroelectronics STR91x devices.
There was a problem in the code used to disable interrupts that could cause a timer
tick interrupt to occur in a protected section of RTX Kernel system. This could
eventually cause a stack overflow and crash the user application.
-
[TCPnet]
Added the http_get_session function to the HTTP Server module. This function
returns a HTTP Server Session instance index. It may be called from the CGI module
to identify a HTTP Client which has issued a request to HTTP Server.
-
[TCPnet]
Added a PPP Server example, HTTP_DEMO, for the Keil MCB2140 Evaluation Board.
This example is located found in the \KEIL\ARM\RV30\RTL\TCPNET\EXAMPLES\ folder.
-
[TCPnet]
Corrected a problem with the DHCP client. In some specific instances, the DHCP client
could fail to obtain an IP address if the IP address configured in NET_CONFIG.C
matched the subnet address of your local network. For example, if your local subnet
is 192.168.0.* and the local IP address in NET_CONFIG.C is 192.168.0.100,
the DHCP server would not return an IP address.
-
[CAN Drivers]
Added CAN drivers for the following ARM devices: Atmel AT91SAM7X, STMicroelectronics STR73x,
and STMicroelectronics STR91x.
-
[CAN Drivers]
Update the CAN driver documentation.
RL-ARM Version 3.02 Release
-
[Real-Time Library]
Added support for the STMicroelectronics STR912 to RTX_CONFIG.C. Support
for the embedded ENET Ethernet controller was added in the STR9_ENET.C driver.
Preconfigured examples for the MCBSTR9 evaluation board are found in ..\ARM\RV30\RTL\BOARDS\KEIL\.
-
[Real-Time Library]
Added support for the Atmel AT91RM9200 and AT91SAM9261 devices to RTX_CONFIG.C.
Preconfigured examples for the AT91RM9200-EK and AT91SAM9261-EK Atmel evaluation boards are
found in ..\ARM\RV30\RTL\BOARDS\ATMEL\.
-
[RTX Kernel]
Corrected a mutex task deadlock problem. When a higher priority task would release
and immediately grab a mutex, a lower priority task would become ready. Because of
this, the task would never get a chance to execute—even after a timeout.
RL-ARM Version 3.01 Release
-
[Real-Time Library]
Reconfigured and recompiled RTL object libraries and examples for compiler
optimization level O3.
-
[CAN Drivers]
Corrected an acceptance filter problem in the CAN driver for LPC2000 devices.
RL-ARM Version 3.00 Release
-
[Real-Time Library]
Updated ARTX to conform to new naming conventions for the RealView Real-Time
Library. Specifically, all references to the legacy term Advanced were
removed; include files were renamed to RTL.H, RTX_CONFIG.H, and
NET_CONFIG.H; configuration files were renamed to RTX_CONFIG.C,
NET_CONFIG.C, and NET_DEBUG.C; and documentation was updated to
reflect these changes.
-
[Real-Time Library]
Added support for Atmel AT91SAM7X devices. The RTX_CONFIG.C configuration
file was updated and the AT91_EMAC.C driver for embedded EMAC
Ethernet controller was added. Preconfigured examples for the AT91SAM7X-EK Atmel
evaluation board are found in the \KEIL\ARM\RV30\RTL\BOARDS\ATMEL\ folder.
-
[RTX Kernel]
Corrected a problem in RTX_CONFIG.C for STMicroelectronics STR71x devices.
If the device was running with a high speed system clock but the EIC peripheral
with a slower PCLK2 clock, interrupts were not disabled immediately but with a
delay when an interrupt enable register was written. This problem might allow a
tick timer interrupt to occur in a protected region of code. This collision causes
RTX Kernel malfunctioning or even user application crash. The fix uses SWI
function __swi(8). So, this SWI is no longer available for user SWI functions.
-
[RTX Kernel]
Corrected a problem in RTX_CONFIG.C for the Analog Devices ADuC702x device
family. The problem was in a device inability to mask forced-programming software
interrupts. This problem might allow a tick timer interrupt to occur in a protected
region of code causing a stack overflow and user application crash.
-
[RTX Kernel]
Corrected a potential problem with applications crashing when a project was built
with optimization levels other than O0 using the RealView Compiler. The problem
was caused when registers R8-R11 were not stored during a context switch. Now,
the context switch saves these registers on the stack.
-
[RTX Kernel]
The RTX_CONFIG.C configuration file has been updated. Applications using the
previous configuration file must be updated with the new configuration file.
RL-ARM Version 2.11 Release
-
[Real-Time Library]
Ported the RTX Kernel, TCPnet, and USB Driver to the RealView Compilation Tools.
-
[RTX Kernel]
Corrected a problem with the os_mbx_send function that occurred
when a message was retrieved from a full mailbox and pushed back into the
mailbox from the same task with no intervening task switch. If another
task was waiting to send a message to this mailbox, it would become ready
and would send the message, even though the mailbox was full.
-
[RTX Kernel]
Corrected a potential problem with the memory example program ARTX_Memory.
This example could hang when connected to some of Windows XP hosts.
-
[Flash File System]
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.
-
[USB Drivers]
Updated all USB examples to pass the USBCV - USB Command Verifier test.
All USB examples now pass this test.
ARTX Version 2.01 Release
-
[RTX 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.
-
[RTX 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.
-
[RTX 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 Version 1.10 Release
-
[RTX Kernel]
Added the os_evt_get event handling function which returns
event flags served by the os_evt_wait_or function.
-
[RTX 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.
-
[RTX 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.
-
[RTX 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.
-
[RTX 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.
-
[RTX 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
-
[RTX Kernel]
Added ARTX_CONFIG.C configuration files for OKI devices. See
\KEIL\ARM\STARTUP\OKI\ARTX_CONF_ML67.C for OKI ML67xxx devices.
ARTX Version 1.01 Release
-
[RTX Kernel]
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
-
[RTX 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)
-
[RTX 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.
-
[RTX 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 Version 1.00a Release
-
[RTX 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.
-
[RTX Kernel]
Added the os_tsk_prio function which allows a task to change the priority of
other tasks in the system.
-
[RTX Kernel]
Added the os_tsk_prio_self routine which allows a task to change its own priority.
-
[RTX 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 Version 1.00 Release
-
[RTX Kernel]
Optimized and updated the task switch function.
-
[RTX Kernel]
Updated the ARTX_CONFIG.C configuration file to support the
µVision debug dialog.
-
[RTX Kernel]
Updated documentation and added context-sensitive help within µVision.
-
[RTX 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.
|