Technical Support
Support Resources
Product Information
|
Release Notes for RL-ARM
Download this Update
Real-Time Library for ARM-powered Microcontrollers
Download this Update
This file contains release notes and last minute
changes.
Information in this file, the accompany manuals, and
software is
Copyright © ARM Ltd. and Keil - An ARM Company.
All rights reserved.
Contents
- What's New in RL-ARM
- Technical Support
- Contact Details
What's New in RL-ARM Real-Time Library
The following sections list the changes instituted in each release of
the RL-ARM.
RL-ARM Version 4.10
- [RTX - Problems Solved]
- Corrected: potential wrong return value of os_mbx_send()
function
in Cortex-M library.
- [TCPnet - Enhancements]
- Added: support for Cortex-M1 devices. Free TCP_CM1.lib
and debug TCPD_CM1.lib library have been added.
- Added: a SNMP Agent implementation and SNMP_demo
example
for various evaluation boards. SNMP version 1 with trap
messages
is supported.
- Added: a Gratuitous ARP implementation. If this feature
is enabled,
the embedded host broadcasts an ARP notification at
startup or if
local IP address changed.
- Added: a new file type php-script, file extension php
[text/html] to the Web server.
- [TCPnet - Problems Solved]
- Added: MSS option (maximum segment size) to SYN packet
for outgoing
TCP connections. Because this option was missing, PC used
reduced segment
size of 536 bytes in communication.
- Corrected: auto disconnect problem in FTP Server during
large
file transfer.
- Corrected: a problem in WEB Server. It failed to load
pages from
SPI or parallel flash.
- Corrected: a Null Modem driver problem. It failed to
connect
in client mode, if connect request was issued delayed from
application reset.
- Corrected: a problem in PPP module which sometimes
fails to connect.
- [FlashFS - Enhancements]
- Added: Support for SDHC Cards.
- [CAN - Problems Solved]
- Corrected: function CAN_set now returns error code.
- [FCARM - Enhancements]
- Added: a simple compression for Cascading Style Sheet
files.
- Improved: compression ratio for Java Script files.
- [FCARM - Problems Solved]
- Corrected: a problem in Java and CGI script
compression.
RL-ARM Version 4.05
- [RTX - Enhancements]
- Added: configurable FIFO Queue size for ISR requests in
RTX_Config.c
configuration file.
- Added: runtime error function os_error() to
RTX_Config.c file. The
runtime error codes are defined in RTL.h
- [RTX - Problems Solved]
- Corrected: a problem in Round Robin task switching.
This failed
if robin task was suspended by a higher priority task.
- Corrected: two problems in ARM library:
- The Stack checking did not work on system tick timer
interrupt,
only on preemptive task switches.
- Task switch monitoring in RT Agent did not
work for Round
Robin task switching.
- Corrected: incorrect event flag clearing in os_evt_wait_and()
function if event flags were set separately. The following
example shows
the problem.
__task void send_task (void) {
os_evt_set (0x1, t_wait);
os_evt_set (0x2, t_wait);
os_evt_wait_or (0x1, 0xFFFF);
os_evt_set (0x2, t_wait);
...
}
__task void wait_task (void) {
os_evt_wait_and (0x3, 0xFFFF);
os_evt_set (0x1, t_send);
os_evt_wait_and (0x3, 0xFFFF);
// Should never come here
}
- Corrected: support for NXP LPC3180 device. RTX_Config.c
configuration for RTX kernel was corrected. Added RTX_IRQ_Blinky
example for Phytec LPC3180
evaluation board, it can be found in ..\ARM\Boards\Phytec\LPC3180
folder.
- Corrected: support for NXP LPC3250 device. RTX_Config.c
configuration for RTX kernel was corrected. Added RTX_IRQ_Blinky
example for Phytec LPC3250
evaluation board, it can be found in ..\ARM\Boards\Phytec\LPC3250
folder.
- [TCPnet - Enhancements]
- Added: a FTP Server implementation and FTP_demo
example for
various evaluation boards. FTP protocol allows you to manipulate
with files
and folders on SD card.
- [TCPnet - Problems Solved]
- Corrected: processing of DNS response in DNS Resolver.
Resolver
failed to get an IP address from DNS response if the host name
was not
compressed in the answer record.
- Corrected: a problem in PPP module which might fail to
connect
to ISP provider when the DNS Server has been negotiated.
- Corrected: a multipacket POST processing for
Silverlight post
requests in case of abnormal post termination (error, RST packet
received).
Warning: The configuration files Net_Config.c and Net_Debug.c
are nomore compatible to older versions and need to be replaced.
Incompatible
configuration files will not compile and build.
- [CAN - Enhancements]
- Added: CAN_Ex1 and CAN_Ex2 examples for NXP
LPC229x to
..\ARM\Boards\Phytec\LPC229x\RL\CAN folder.
RL-ARM Version 4.01
- [TCPnet - Enhancements]
- Added: automatic DNS Server configuration for PPP links
when
dialing into ISP provider in client mode.
- Improved: PPP link debug messages in TCPnet debug
library.
- Added: a multipacket POST processing in web server.
Multipacket
post requests from web browser (x-www-form-urlencoded)
are
buffered. The web server collects the post data and when
completed,
calls the callback function. The Silverlight post requests
(xml-encoded) are not buffered. The web server deliveres the
post
data in multiple callback function calls directly to the user.
- Changed: a socket/session numbering in TCPnet debug
library.
Now the socket/session numbers printed in the log are the same
as they are
used in the program.
- [TCPnet - Problems Solved]
- Corrected: handling of extended ASCII characters in cgi
scripts
generated by FCARM.
- Corrected: a problem in STR9_ENET.c ethernet driver
transmit
function.
- [RTX - Problems Solved]
- Corrected: a problem of recursive __swi function calls
in ARM
library. An example of such problem is malloc() function
from standard
arm library, if it is executed in SWI mode.
- [CAN - Problems Solved]
- Corrected: a problem of race condition for sending CAN
messages.
- Corrected: a problem of receive hanging if software
buffer for
messages is full.
- [FCARM - Problems Solved]
- Corrected: wrong compression of extended ASCII
characters in
cgi scripts.
RL-ARM Version 4.00
- [RTX - Problems Solved]
- Corrected: a tsk_lock problem in ARM library.
After a tick
timer interrupt was disabled, the interrupt was not immediatelly
blocked but
a few cycles later. Therefore in some rare situations (very timing
specific)
it could happen that a blocked interrupt was still executed which
eventually
lead to RTX failure.
- Updated: RTX configuration files for STMicroelectronics STR71x,
STR73x and STR75x devices. Older RTX_Config.c
files have to be
replaced.
- Corrected: a SVC_Handler problem in Cortex-M1 library.
The __svc
function return value was wrong.
- [TCPnet - Enhancements]
- Added: an option to skip user authentication advertised
by SMTP
Server. It general is not needed to authenticate when sending
emails with
SMTP server of the local Internet Service Provider.
- Added: support for web caching. This improves the web
server
performance and reduces the traffic on the net. It solves also
the
java archive (jar) file cache problem. If web content is stored
on
SD card, the HTTP_uif.c interface has to be replaced.
- Added: implementation of InARP (Inverse ARP) protocol.
- Improved: printed debug messages in TCPnet debug
library.
- Added: support for compressed files generated by FCARM.
- Added: a serial driver for STmicroelectronics STM32F10x
devices.
This driver is used for serial PPP or SLIP connections. An HTTP_demo
example for MCBSTM32 Keil evaluation board can be found in
..\ARM\Boards\Keil\MCBSTM32\RL\TCPnet folder.
- [TCPnet - Problems Solved]
- Corrected: TFTP server error checking of file write
requests.
The server now responds with an error message if a block cannot
be written
and closes the connection.
- [FlashFS - Problems Solved]
- Corrected: MBR geometry generation on formatting SD
Card.
- Corrected: free space calculation during work for FAT32
formatted
cards.
- [FCARM - Enhancements]
- Added: a simple compression for html, java script and
cgi
script files. This reduces the image size of Http_demo example
for 3.6 kbytes.
- Added: a last modified time stamp in output file. This
is an
information for the Web server when the web page was last
modified. It is
used for web cache control.
- [FCARM - Problems Solved]
- Corrected: wrong LF line termination handling. FCARM
now correctly
handles CR-LF or LF-only line termination sequences.
RL-ARM Version 3.80
- [CAN - Enhancements]
- Added: CAN_Ex1 example for MCBSTM32C to
..\ARM\Boards\Keil\MCBSTM32C\RL\CAN folder.
- [TCPnet - Enhancements]
- Added: a dynamic default page index.cgi to web server.
To use
a dynamic default page a static page index.htm must not
exist.
- Added: a http_accept_host() callback function for
remote host
filtering.
- Added: ethernet driver and TCPnet examples for Keil MCBSTM32C
evaluation board. The examples can be found in
..\ARM\Boards\Keil\MCBSTM32C\RL\TCPnet folder.
- Added: ethernet driver and TCPnet examples for STM3210C-EVAL
evaluation board from ST Microelectronics. The examples can be
found in
..\ARM\Boards\ST\STM3210C-EVAL\RL\TCPnet folder.
- [FlashFS - Enhancements]
- Added: SD_File example for MCBZ32AN to
..\ARM\Boards\Keil\MCBZ32AN\RL\FlashFS folder.
- Added: SPI Interface driver for Zilog Z32AN devices for
SD/MMC Flash
Memory Card.
- [RTX - Problems Solved]
- Corrected: two problems in ARM library:
- Frequently calling isr_xxx functions from interrupt
handlers
has disturbed (shortened) the system delays and timeouts for os_xxx
functions with delays.
- Corrected re-entrance problem of isr_xxx
functions when called
from os_tmr_call user timer callback function.
- [TCPnet - Problems Solved]
RL-ARM Version 3.70
- [CAN - Enhancements]
- Added: CAN_Ex1 example for MCB1700 to
..\ARM\Boards\Keil\MCB1700\RL\CAN folder.
- Added: CAN driver for NXP LPC17xx devices.
- [FlashFS - Enhancements]
- Added: SD_File example for MCB1700 to
..\ARM\Boards\Keil\MCB1700\RL\FlashFS folder.
- Added: SPI Interface driver for LPC17xx devices for
SD/MMC Flash
Memory Card.
- Added: SD_File example for MCBSTM32E to
..\ARM\Boards\Keil\MCBSTM32E\RL\FlashFS folder.
- Added: Memory Card Interface driver for
STM32x high-density performance line devices for SD/MMC
Flash Memory
Card.
- [RTX - Enhancements]
- Added: RTX configuration for Atmel AT91SAM9260 devices.
Preconfigured
RTX_Blinky example for the Atmel AT91SAM9260-EK
evaluation board
can be found in ..\ARM\Boards\Atmel\AT91SAM9260-EK
folder.
- [TCPnet - Enhancements]
- Added: a SOAP protocol support to HTTP server. SOAP is a
simple
XML-based protocol to let applications exchange
information over
HTTP. It is used by Microsoft Silverlight web service application.
- Added: ethernet drivers and TCPnet examples for AT91SAM9G20,
AT91SAM9260 and AT91SAM9263 evaluation boards from
Atmel.
The examples can be found in ..\ARM\Boards\Atmel\...\RL\TCPnet
folders.
- Renamed: ethernet driver for Atmel AT91SAM7X from AT91_EMAC.c
to EMAC_SAM7X.c.
- [RTX - Problems Solved]
- Corrected: several problems in Cortex-M library:
- The _alloc_box and _free_box functions have
re-enabled
globally disabled interrupts.
- When deleting the preceeding task (by order of TID's), the
os_tsk_delete function has deleted the current running task
instead.
- The system might incorrectly execute svc
system calls in a
very rare timing sequences when followed by the SysTick timer
interrupt.
- [FlashFS - Problems Solved]
- Corrected: second fopen() fail problem, when two
simultaneously
opened files are not located on the same drive.
- [TCPnet - Problems Solved]
- Corrected: auto select port range for TCP and UDP
sockets.
TCPnet now selects higher ports numbers than well-known ports in
the range
from 1024 to 65535.
- Corrected: nested include file problem in HTTP server when
processing
the cgx scripts. This problem has generated wrong
Content-type
header in xml responses.
RL-ARM Version 3.50 Release
- [TCPnet - Problems Solved]
- Corrected: the user authentication problem with some
SMTP servers.
If the multiline response from SMTP server is fragmented, the
authentication
did not work.
- [RTX - Enhancements]
- Added: support for Luminary LM3S9Bxx devices.
Preconfigured
RTX_Blinky example for the Luminary EK-LM3S9Bxx
evaluation board
can be found in ..\ARM\Boards\Luminary\EK-LM3S9Bxx
folder.
- [TCPnet - Enhancements]
- Added: an user authentication for SMTP server. This
allows
sending emails from external SMTP servers with a valid user
account.
In general this solves the Mail relaying not allowed problem.
RL-ARM Version 3.46 Release
- [RL - Enhancements]
- Added: a product version number in RTL.h. It is
encoded
in decimal format. For RL-ARM version 3.46 it is defined as:
#define __RL_ARM_VER 346
- [RTX - Enhancements]
- Added: support for Toshiba TMPA910 device. RTX_Config.c
configuration for RTX kernel was added.
- [FlashFS - Enhancements]
- Added: checking of function return values in FAT
module. This
improves the stability and trouble-free usage of the Flash File
System.
- Added: an RTX multithreading protection to the File
System. This
allows to read and write files or use standard input output from
different
tasks simultaneously in an RTX environment.
- [TCPnet - Enhancements]
- Added: a Silverlight hosting to the Web server. In
order to deploy
the Silverlight content, the following new file extensions [MIME
types]
were added:
- xap [application/x-silverlight-app]
- xaml [application/xaml+xml].
- Added: a HEAD method in the Web server. The Java
applets use this
method to check the URL for validity, accessibility or recent
modification.
- Added: a HTTP Error message 501 Not Implemented in the
Web server.
The Web server now responds with status code 501 if the
requested method is
unrecognized or not implemented.
- Updated: a Web server HTTP_Upload examples with a file
download
option. This allows to download the files, which were previously
uploaded
to server.
- [TCPnet - Problems Solved]
- Corrected: a Web server 16 MB file size limitation. The
size of
a download file, which is located on external drive, is now
limited to 2 GB.
- Corrected: a problem in AT91_EMAC.c driver which failed
to dump
bad CRC packet fragments from DMA memory buffer.
- [USB - Enhancements]
- Added: USB examples SD_File and SD_Memory for
MCB2300 and
MCB2400.
RL-ARM Version 3.40 Release
- [RL - Problems Solved]
- Corrected: the S8 type definition in RTL.h. It
has been
changed from plain char to a signed char. Plain
char is
defined as an unsigned byte by default.
- [RTX - Enhancements]
- [TCPnet - Enhancements]
- Added: support for the XML technology in the HTTP
Server.
With XML requests the monitoring web page is not regenerated
again, but
updated locally in the Browser with Java script. This allows smooth,
flicker-free periodic page updates for the realtime process
monitoring.
- [CAN - Enhancements]
- Added: driver for NXP LPC24x8 devices. A CAN_Ex1
example
for MCB2400 Keil evaluation board can be found in
..\ARM\Boards\Keil\MCB2400\RL\CAN folder.
RL-ARM Version 3.24a Release
- [FlashFS - Enhancements]
- Updated: SPI_SAM7X.c driver for Atmel AT91SAM7X.
This driver
supports both SPI Flash devices and SD Cards.
- Added: SD_File example for AT91SAM7X evaluation
board to
..\ARM\Boards\Atmel\AT91SAM7X-EK\RL\FlashFS folder.
- Added: Memory Card Interface driver for LPC3250 for
SD/MMC Flash
Memory Card. An SD_File example can be found in
..\ARM\Boards\Phytec\LPC3250\RL\FlashFS folder.
- [TCPnet - Enhancements]
- Enhanced: the Telnet Server to correctly process line
and
character input. Allows copy & paste of telnet
commands into a
Telnet Client window.
- Added: command history buffering to Telnet Server
to
allow retrieving of recently typed commands.
- Updated: all Telnet_demo examples.
- [TCPnet - Problems Solved]
- Corrected: a problem in PPP module which might cause a
memory
corruption and application crash if PPP and interrupt driven
ethernet
are used at the same time.
RL-ARM Version 3.24 Release
- [RTX - Enhancements]
- Added: support for Atmel AT91SAM9RL device. RTX_Config.c
configuration for RTX kernel was added.
- [FlashFS - Enhancements]
- Added: SD_File example for LPC3180 to
..\ARM\Boards\Phytec\LPC3180\RL\FlashFS folder.
- Added: Memory Card Interface driver for LPC3250 for
SD/MMC Flash
Memory Card. An SD_File example can be found in
..\ARM\Boards\Phytec\LPC3250\RL\FlashFS folder.
- [FlashFS - Problems Solved]
- Changed: ffind() function to process filename parameter
case
insensitive.
- Corrected: reusage of erased entries for lfn records in FAT
file system.
- [TCPnet - Enhancements]
- Added: ethernet driver and TCPnet examples for MCIMX27
evaluation
board from Phytec. The examples can be found in
..\ARM\Boards\Phytec\i.MX27\RL\TCPnet folder.
- [TCPnet - Problems Solved]
- Corrected: a problem with default __weak library
functions.
The linker might fail to link a correct function into the image
for
complex projects.
RL-ARM Version 3.23 Release
- [RTX - Enhancements]
- Added: support for Freescale i.MX27 device. RTX_Config.c
configuration for RTX kernel was added. Preconfigured examples
for the
Phytec PHYCORE-i.MX27 evaluation board can be found in
..\ARM\Boards\Phytec\i.MX27 folder.
- [TCPnet - Enhancements]
- Added: Cache-Control header for cgi files in HTTP
Server.
The Cache-Control value is no-cache to prevent caching of
dynamic pages.
- Added: ethernet driver and TCPnet examples for LPC3250
evaluation
board from Phytec. The examples can be found in
..\ARM\Boards\Phytec\LPC3250\RL\TCPnet folder.
- Added: a Sliding Window flow control protocol to the
TCP module.
This allows the server to control the remote TCP host
transmitter.
- Updated: web pages for HTTP_demo examples. The web
pages have been
redesigned to use a common template.
- Optimized: LM3S_EMAC.c and STR9_ENET.c ethernet
drivers.
Received packet size is now calculated correctly without
additional CRC.
- Added: configurable listening ports for HTTP, Telnet
and TFTP Server. Configuration file Net_Config.c
has been
changed and is not compatible to older versions.
- Added: http file upload feature to WEB Server and HTTP_upload
example which allows to upload files to an SD Card. This example
has been
added for Keil MCB2300, MCB2400, MCBSTR9 and
Luminary
EK-LM3S6965 and EK-LM3S8962 evaluation boards.
HTTP_upload
examples can be found in ..\ARM\Boards\...\RL\TCPnet folders.
- Updated: all HTTP_demo examples to allow switching
on/off LED's
'on_click' without a need to click on additional SUBMIT
button.
- [FCARM - Enhancements]
- Added: xml, xsl and js file types.
Additional file
types are now converted in ascii format.
- [RTX - Problems Solved]
- Corrected: a mailbox problem in ARM library. The
message
sent from os_mbx_send function was lost if slot was not
available in
a mailbox and function returned a timeout status.
- [TCPnet - Problems Solved]
- Corrected: invalid Content-Type header for xml, xsl,
js and ico file types in HTTP Server.
- Corrected: a problem in HTTP Server because of which
the Server
failed to download files larger than 64 Kbytes from Internal
File System
(compiled into the code).
- Corrected: a problem in DHCP Client which failed to
obtain an IP
address if DHCP Option Overload was found in DHCP Option
area.
Overloaded DHCP Options are now correctly processed.
- Corrected: an STR9_ENET.c ethernet driver problem which
has
by mistake ignored all packets with lengths over 1510 bytes.
This has been
corrected to 1514 bytes.
- Corrected: examples for Luminary EK-LM6965 evaluation
board.
System clock was set incorrectly.
- [FCARM - Problems Solved]
- Corrected: invalid filename extension check for the
file conversion.
For example an image with filename back_htm.jpg would be
converted
in ascii format instead of in binary format.
RL-ARM Version 3.22a Release
- [RTX - Problems Solved]
- Corrected: problem in Cortex-M library which was
introduced in version 3.22
(re-entrance of isr_xxx functions).
RL-ARM Version 3.22 Release
- [FlashFS - Enhancements]
- Added: driver for Parallel Flash Memory for STmicroelectronics
SST39FV320
device. An Em_File example for MCB2400 Keil evaluation
board can be found in
..\ARM\Boards\Keil\MCB2400\RL\FlashFS folder.
- Optimized: formating of SD/MMC memory cards. Function fat_format()
has been optimized for maximum Memory Card performance. This
format chooses
optimal Cluster size and Cluster alignment for the Memory Card being
formatted.
- Updated: drivers MCI_LPC23xx.c and MCI_LPC24xx.c
to support
faster data read and data write with Multiple Block read and
Multiple Block
write commands.
- [RTX - Problems Solved]
- Corrected: re-entrance problem of isr_xxx functions in Cortex-M
library when using nested interrupts.
- Corrected: a mailbox problem in Cortex-M library. A
message sent to
a mailbox from an interrupt handler was lost in some rare timing
situations.
- Corrected: a timing problem in ARM library. When isr_xxx()
functions
were called from more than one interrupt handler with a very
high repetition rate,
system delays might expire sooner than expected. This has
happened because
the RTX kernel has detected a false tick timer overflow and
decremented timeouts
also within an interval time.
- Corrected: wrong task priority handling of the mutex
owner task.
When the priority inversion has been applied to a task
which was the owner
of the mutex, the original task's priority might not have been restored
correctly.
- Corrected: range checking in Cortex-M library for __svc
functions.
The __svc function with the highest svc number would never
execute because
of wrong svc range checking.
- [FlashFS - Problems Solved]
- Corrected: several problems with FAT file system folder
handling
and file append.
- Corrected: a problem of FAT file system. After 512
times of creating
and deleting a file, root directory for FAT12/FAT16 was
exhausted and it was not
possible to create a new file in the root directory. Deleted files
marked with 0xE5
are now reused as free directory entries.
- Corrected: potential SPI driver problem that might
corrupt the FAT file
system on SD/MMC Card. Automatic Slave Select SPI mode might
deassert SS signal,
if data transfer from CPU is paused for longer time. Instead of
automatic SS
a function spi_ss() is used which controls the SS signal.
- [TCPnet - Problems Solved]
- Corrected: a problem of hanging the application in sys_error()
function
caused by IP Packet Flooding Attacks and overload. A
memory block
for the received packet is allocated if there is at least 25% of
available
memory free after the allocation. Othervise a packet is discarded.
- Corrected: a problem in debug library. Debug messages
from
alloc_mem() function are not printed anymore when this
function is
called from an IRQ handler.
RL-ARM Version 3.21 Release
- [FlashFS - Enhancements]
- Added: SD/MMC file caching to increase the speed of
file write and
file read. Cache buffer size is configured in File_Config.c
file. Using the file
caching SD/MMC file write is several times faster than before.
- Added: implementation of FAT32 file system, sub-folders
and
long file names. Sub-folders and Long File names may be
used also
with FAT12 or FAT16 file system.
- Added: an SPI_File example for Atmel AT91SAM7X-EK
evaluation board.
This example is configured for AT45DB321C - 32MBit serial SPI
Data Flash device
from Atmel. It is located in ..\ARM\Boards\Atmel\AT91SAM7X-EK\FlashFS
folder.
- [RTX - Enhancements]
- Added: support for Cortex-M3 RTX Event Viewer. It
allows task execution
and task switch monitoring in real-time.
- [RTX - Problems Solved]
- Corrected: generation of HardFault Exception in Cortex-M
library when
user timers were enabled. The configuration file RTX_Conf_CM.c
has been
updated. Older configuration file is not compatible and need to
be replaced
with a new version.
- Corrected: invalid return value of create task functions for Cortex-M
library. Functions os_tsk_create_user() and os_tsk_create_user_ex()
have returned wrong task ID value.
- [FlashFS - Problems Solved]
- Corrected: SPI configuration problems of several SPI drivers. SPI
Mode
is changed to Clock Polarity low (CPOL=0), and Clock Phase low
(CPHA=0).
- Corrected: a problem of handling 0-size files for
Embedded Flash/RAM
file system. Opening a 0-size file for reading has
failed. Opening a
0-size file for appending did not fail, but no data was actually
written
to the file.
- Corrected: a problem in fcheck() function. This problem
has reported
a false error when checking SPI Flash or Parallel Flash file
system.
- [TCPnet - Problems Solved]
- Corrected: wrong handling of TCP retransmit packets.
Wrong handling could cause
sporadic stalls on high traffic TCP sockets if a packet
has been lost. The socket
would recover after a retry-timeout of 4 seconds.
RL-ARM Version 3.20 Release
- [RL-ARM]
- Changed: the
library names to be consistent with the Endianess type.
RTX libraries are
automatically included by µVision IDE, other libraries
need to be included manually
into the project.
- [RTX - Enhancements]
- [TCPnet - Enhancements]
- Added: script cgi files for the WEB server may may now
be stored on
external File System, for example on exernal SD Card. There is
no limitation
where the cgi files are stored. Additional function http_fgets
for script buffering has been added to HTTP_uif.c user
interface module.
- Added: IP Multicasting with IGMP - Internet
Group Management Protocol.
IP Multicasting allows sending and reciving Multicast UDP
datagrams to several hosts
simultaneously.
Note: All ethernet drivers have been updated to enable
receiving of Multicast
packets.
- [FlashFS - Enhancements]
- Added: driver for STMicroelectronics STM32x devices. An
SD_File
example for MCBSTM32 Keil evaluation board can be found in
..\ARM\Boards\Keil\MCBSTM32\RL\FlashFS folder.
- [RTX - Problems Solved]
- Corrected: core problems for Cortex-M devices. Handling
of isr_xxx
function calls was incorrect and could cause task locks. Wrong
handling of task switches
and __svc functions could cause sporadic application
crashes if additional
user interrupts were enabled.
- [FlashFS - Problems Solved]
- Corrected: Memory Card Interface driver problem for LPC23xx
devices silicon
rev. 'B'. Updated driver works with all silicon revisions: rev.
'-', rev. 'A'
and rev. 'B'.
- Corrected: potential unaligned Flash/RAM device access for fread()
and
fwrite() functions. The fix required an update of Flash
Programming algorithms
which are located in ..\ARM\RL\FlashFS\Flash folder. The
function
fs_ProgramPage() was updated to allow unaligned buffer
access.
- [TCPnet - Problems Solved]
- Corrected: ethernet driver problem for STMicroelectronics STR912
devices.
Updated driver now works correctly when the user application
calls init_TcpNet()
again to restart the TCPnet library.
- Corrected: ethernet driver problem for LPC24xx devices.
Updated driver works with
both old LPC24xx device rev. '-' and new LPC24xx device rev.
'A' and later.
- Corrected: a problem of truncating NetBIOS names. By a
mistake only 12 characters
of the host name were decoded from the NBNS packet. This has
been corrected to decode
all 16 characters.
- Corrected: ethernet driver problem for LPC24xx devices.
Clock divider setting
definitions from the LPC24xx_EMAC.h were incorrect. All MCB2400
examples were
updated and the startup file was replaced with LPC2400.s
startup file.
- Corrected: ethernet driver problem for LPC23xx and LPC24xx
devices. Receive
Packet filtering was set incorrectly and enabled the
promiscuous mode. All ethernet
packets were received and not filtered by hardware. The IP
layer from the software has
filtered the packets, what has caused unnecessary cpu load and
reduced performance.
Warning: The configuration files Net_Config.c and Net_Debug.c
are nomore
compatible to older versions and need to be replaced. Incompatible
configuration files will
not compile and build.
RL-ARM Version 3.13 Release
- [FlashFS - Enhancements]
- Added: library support for serial SPI Flash devices.
Additional drive letter
for SPI Flash memory S: is added. A driver for Intel S33
serial SPI Flash device
25F640S33 is located in ..\ARM\RL\FlashFS\Flash\25F640S33
folder.
- Added: driver for Luminary LM3S8962 devices. An SD_File
example for
EK-LM3S8962 Luminary evaluation board can be found in
..\ARM\Boards\Luminary\EK-LM3S8962\RL\FlashFS folder.
- [TCPnet - Enhancements]
- Added: unsolicited message interface to the Telnet
Server. With this interface
the application layer (for example a basic interpreter) may use
the Telnet Server to send
unsolicited messages to the remote user.
- Added: ethernet driver and TCPnet examples for LM3S8962
Luminary evaluation board.
The examples can be found in ..\ARM\Boards\Luminary\EK-LM3S8962\RL\TCPnet
folder.
- [CAN - Enhancements]
- Added: driver for Luminary LM3S2110 and LM3S8962
devices. A CAN_Ex1
and CAN_Ex2 examples for EK-LM3S2110 and EK-LM3S8962
Luminary evaluation boards can
be found in ..\ARM\Boards\Luminary\[board]\RL\CAN folder.
- [FlashFS - Problems Solved]
- Fixed: a problem of fseek function when it was called
after file read functions
fgetc, fread, etc. When an Early End of File flag was set in
the file buffering, this
sequence of function calls would fail. This has occured at the
end of file when the last
block was read and it had less than 512 bytes.
- [TCPnet - Problems Solved]
- Fixed: a problem of incorrect Flag Character processing
in PPP module.
PPP Stack has expected a Start and a Stop Flag. This has been
fixed and now a frame can
be correctly received between any two flags.
- Fixed: a problem of HTTP Server when serving the Mozilla
Firefox web-browser.
HTTP Server failed to process a Firefox POST requests
correctly and because of this
web pages generated with POST method did not work for this
browser.
- Fixed: a problem of incorrect file closing in HTTP
Server script interpreter.
The files included with 'i' script command were not closed
correctly when they were located
on external File System and accessed via http_uif.c
interface primitives.
RL-ARM Version 3.12 Release
- [RL-ARM]
- Added: RTX Kernel support for Cortex-M1 architecture.
An RTX_Blinky example
for ARM Cortex-M1 device is added to ..\ARM\Boards\ARM\Cortex-M1
folder.
- Added: support for Samsung S3C2440 device. RTX_Config.c
configuration for
RTX kernel was added. Preconfigured examples for S3C2440 Samsung
evaluation board can be
found in ..\ARM\Boards\Samsung\S3C2440 folder.
- [FlashFS - Enhancements]
- Added: driver for Luminary LM3S6965 devices. An SD_File
example for
EK-LM3S6965 Luminary evaluation board can be found in
..\ARM\Boards\Luminary\EK-LM3S6965\RL\FlashFS folder.
- [TCPnet - Problems Solved]
- Fixed: ethernet driver problem for LPC23xx devices.
Incorrect handling of
receive buffer overflows has been corrected.
- [FlashFS - Problems Solved]
- Fixed: a problem of opening non-existing file for
reading. If a file was not
found, a file control block was not released. After 16 retries
all FCB's would be used
and any further call to fopen(), ffree(), fformat(), ... would
fail.
RL-ARM Version 3.11 Release
- [RL-ARM]
- Added: TCPnet, FlashFS and RTX examples for Keil MCB2400
evaluation board.
RL_ARM examples for this evaluation board can be found in
..\ARM\Boards\Keil\MCB2400 folder. This evaluation board
is identical to
Embedded Artists LPC2468 OEM Board.
- [TCPnet - Enhancements]
- Added: ethernet driver and TCPnet examples for LM3S6965
Luminary evaluation board.
The examples can be found in ..\ARM\Boards\Luminary\EK-LM3S6965
folder.
- [TCPnet - Problems Solved]
- Fixed: ethernet driver problem for LPC23xx devices.
Updated driver works with both
old LPC23xx device rev. '-' and new LPC23xx device rev. 'A' and
later.
- [USB - Enhancements]
- Added: CDC example for MCB2140 and MCB2300
evaluation boards. This example
implements Virtual COM Port based on a Windows USB host driver.
RL-ARM Version 3.10 Release
- [RL-ARM]
- Changed: a folder structure for RL-ARM. The Boards
folder has been restructured
and all RL-ARM target examples moved to ..\ARM\Boards
folder. USB and CAN
drivers are now located under ..\ARM\Boards\[vendor]\[board]\RL\USB
and
..\ARM\Boards\[vendor]\[board]\RL\CAN folders.
- Updated: all RL-ARM examples are adapted for MicroLIB, a
tiny C-library. MicroLIB does
not support a File System so examples for the File System can
not work with MicroLIB and have
to use a standard C-library. Some of TCPnet examples which use
File System can also not work
with MicroLIB, for example TFTP_Demo.
- Added: support for Atmel AT91SAM7SE device. RTX_Config.c
configuration for
RTX kernel was added. Preconfigured examples for AT91SAM7SE-EK
Atmel evaluation board can be
found in ..\ARM\Boards\Atmel\AT91SAM7SE-EK folder.
- Added: RTX_Blinky examples for Embedded Artists
evaluation boards:
LPC2106 RS232 QSB, LPC2129 CAN QSB, LPC2138 QSB
and LPC2148 USB QSB.
RTX_Blinky examples can be found in ..\ARM\Boards\Embedded
Artists folder.
- [TCPnet - Enhancements]
- Enhanced: TCPnet examples for MCBSTR9 evaluation board.
System configuration from
STR91x.s startup file (wait states, clocks, etc.) has
been reconfigured and optimized
for best Network performance. Ethernet driver STR9_ENET.c
has also been optimized.
Now TCP benchmarks results are 10 times better than before.
- Enhanced: processing of CGI script pages. This enhancement has
improved the
HTTP Server performance a lot by reducing number
of generated TCP packets.
A CGI page with 27 script lines has previously transmitted 54
packets but now only 2 packets.
This enhancement also improves the stability of the Web Browser
when browsing web pages
which are continuously refreshing (meta http-equiv="refresh").
- Added: an AD web page to HTTP_Demo examples for MCB2300
and MCBSTR9
evaluation boards. This page demonstrates a continuously
refreshing web page showing an analog
voltage on analog potentiometer located on the board.
- Added: a serial driver for STmicroelectronics STR71x
devices. This driver is used for
serial PPP or SLIP connections. An HTTP_demo example for
MCBSTR7 Keil evaluation board can
be found in ..\ARM\Boards\Keil\MCBSTR7\RL\TCPnet folder.
- [FlashFS - Enhancements]
- Added: driver for Embedded Flash Memory for STmicroelectronics
STR71x and STR75x
devices. An Em_File example for MCBSTR750 Keil evaluation
board can be found in
..\ARM\Boards\Keil\MCBSTR750\RL\FlashFS folder.
- [CAN - Enhancements]
- Added: driver for NXP LPC23x8 devices. A CAN_Ex1
example for MCB2300 Keil
evaluation board can be found in ..\ARM\Boards\Keil\MCB2300\RL\CAN
folder.
- [USB - Enhancements]
- Added: driver for Atmel AT91SAM7S devices. USB examples
for AT91SAM7S-EX Atmel
evaluation board can be found in ..\ARM\Boards\Atmel\AT91SAM7S-EK\RL\USB
folder.
- [RTX - Problems Solved]
- Fixed: a task timing problem for STmicroelectronics STR750
devices in RTX_Config.c
configuration file. Interrupt function calls of isr_xxx()
has reset also the hardware tick
timer prescaler and changed the tick-timer timing cycle. This is
now fixed in a new RTX
configuration file.
- Fixed: a task timing problem for CORTEX-M3
devices. When the application has made a very
large number of system calls resulting in frequent task
switches, the system clock tick has run slow.
This is now fixed in a new RTXCM3.lib library file.
- [FlashFS - Problems Solved]
- Fixed: several problems of the FAT File System for
SD/MMC Flash Memory Cards. A file
reopened again for appending was stored corrupted to a Flash
Memory Card. Reading a file from
the Memory Card did not work correctly for the block size of fread()
other than 512 bytes.
- [TCPnet - Problems Solved]
- Fixed: improper processing of css files (Cascading
Style Sheet). The format has been
changed from binary "application/octet-stream" to ascii "text/css"
format.
- [FCARM - Problems Solved]
- Fixed: a problem of wrong css file converting. They are
now stored in ascii format to
the web server virtual file system.
RTL-ARM Version 3.05 Release
- [RTL-ARM]
- Added: support for STmicroelectronics STR750 device. RTX_Config.c
configuration
for RTX kernel was added. An RTX_Blinky example for
MCBSTR750 Keil evaluation board can be
found in ..\ARM\RV30\RTL\Boards\Keil\MCBSTR750 folder.
- Updated: examples for Atmel evaluation boards. The startup
configuration files SAM7.s and
SAM9261.s have been updated.
- Updated: all HTTP_Demo examples. Default page index.htm
has been updated and DHCP
client timeout implemented. If DHCP did not obtain an IP address
in 5 seconds, it is disabled and
a static IP is used instead.
- [Kernel - Enhancements]
- Enhanced: handling of isr_xxx() functions to increase
execution speed and preformance.
- Updated: task create functions os_tsk_create_user()
and os_tsk_create_user_ex().
Those functions now autocorrect user provided stack size for
8-byte stack alignment.
- Improved: RTX configuration for STR71x, STR73x
and STR75x devices.
Standard RTX configuration no longer needs a SWI_Table.s
System function __swi(8) from
RTX_Config.c has been changed to __swi(7) which does not
require an external SWI_Table
included into the project anymore.
- [FlashFS - Enhancements]
- Added: Memory Card Interface driver for MCB2300 for
SD/MMC Flash Memory Card. An
SD_File example can be found in ..\ARM\RV30\RTL\Boards\Keil\MCB2300
folder.
- Added: SPI Interface driver for MCBSTR9 for SD/MMC
Flash Memory Card. An
SD_File example can be found in ..\ARM\RV30\RTL\Boards\Keil\MCBSTR9
folder.
- Added: SPI Interface driver for MCBSTR750 for
SD/MMC Flash Memory Card. An
SD_File example can be found in ..\ARM\RV30\RTL\Boards\Keil\MCBSTR750
folder.
- [TcpNet - Enhancements]
- Added: LEDSwitch server and Client example
configured for a serial
dial-up PPP connection. This example can be found in ..\ARM\RV30\RTL\TcpNet\Examples
folder.
- [Kernel - Problems Solved]
- Fixed: a problem of isr_sem_send() function. This
function did not work correctly when
a task was already waiting for a semaphore and might hold a task
in WAIT_SEM state for
additional 65536 system tick intervals.
- [FlashFS - Problems Solved]
- Fixed: a problem in FAT module. Flash File System did not work
correctly when more than
16 files were stored on a Flash Memory Card. The file was
stored, but the directory
entry was not updated, so the file was not seen in the directory
listing.
- [TcpNet - Problems Solved]
- Fixed: a problem of DHCP client module. When several
DHCP clients have started
at the same time (simultaneously powered up), some of them might
fail to obtain a valid
IP address. This happened because a DHCP reply checking was not
strict and two or more
DHCP clients tried to obtain the same IP address. DHCP client
which failed would still obtain
a valid IP address after DHCP has been internally restarted
after 30 seconds.
- Fixed: a problem of Null_Modem.c modem driver which
failed to work with
Windows XP dial-in PPP connection.
- [CAN - Problems Solved]
- Fixed: a potential problem in all CAN drivers. With
high baud rate and high traffic
rate, old CAN drivers might lose some of the transmit messages.
- [USB - Enhancements]
- Added: RTX USB examples for MCB2300. They can be found
in ..\ARM\RV30\RTL\USB\LPC23xx
folder.
- Added: RTX USB examples for MCBSTR9. They can be
found in ..\ARM\RV30\RTL\USB\STR91x
folder.
- Added: RTX USB examples for MCBSTR750. They can be
found in ..\ARM\RV30\RTL\USB\STR75x
folder.
- [FCARM - Problems Solved]
- Fixed: a problem of wrong '\' character expansion for creating
webserver filesystem files.
This has been expanded to '\\' for .html and .inc
files. This problem has created
wrong html files when javascript has been used with a code such
as:
t if(ValueString.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}&/
RTL-ARM Version 3.04 Release
- [RTL-ARM]
- Updated: examples for MCBSTR9. The startup
configuration files STR91x.s
have been updated.
- [Kernel - Enhancements]
- Added: RTX Kernel support for Cortex-M3 architecture.
An RTX_Blinky example
for Luminary Micro LM3S102 device is added to ..\ARM\RV30\RTL\Boards\Luminary
folder.
- [FlashFS - Enhancements]
- Added: support for SD/MMC Flash Memory Card with
standard FAT12 and FAT16 file system.
Memory Cards up to 2 GBytes are supported.
- [TcpNet - Enhancements]
- Added: configurable Web Server Error Pages. Http Server
40x Error Pages are extracted
to a single file HTTP_err.c which can be copied to the
user project and customized.
- [Kernel - Problems Solved]
- Fixed: a core problem of SWI_Handler when accessing
user registers. Setting an user
Link Register on task switch has failed for Atmel AT91RM9200
devices. Instruction
LDMDB SP,{SP,LR}^ does not work for these devices.
Implemented workaround uses
a different instruction for setting the user LR and this works
for all ARM devices.
- Fixed: a problem of os_tsk_prio() function. This
function did not work correctly
when a priority of a task in a delay has been changed.
- [TcpNet - Problems Solved]
- Fixed: a problem of PPP module in LCP negotiation
phase. Because of this
problem it has failed to connect to some GPRS modems when TcpNet
was much faster
than modem.
- Fixed: a problem of PPP Client module which has sent a PPP
authentication
request also if authentication was not requested by remote PPP
Server.
RTL-ARM Version 3.03a Release
- [RTL-ARM]
- Added: support for NXP (founded by Philips) LPC23xx
devices. RTX_Config.c
configuration for RTX kernel and LPC23_EMAC.c driver for
embedded EMAC ethernet
controller were added. Preconfigured examples for MCB2300 Keil
evaluation board can be
found in ..\ARM\RV30\RTL\Boards\Keil folder.
- [TcpNet - Problems Solved]
- Fixed: a problem in udp_send() function which has
limited a data size to 1432 bytes.
This was wrong and has been changed to 1472 bytes as a limit for
UDP data size.
- [Kernel - Enhancements]
- Updated: a memory box handling functions. Those
functions now properly handle
4-byte and 8-byte aligned memory blocks. Added _init_box8()
function and memory pool
declaration macros _declare_box() and _declare_box8().
- Updated: RTOS configuration files for Atmel SAM7S, SAM7A3,
SAM7X and SAM79261
devices. In addition to PIT timer, also TC0, TC1 and TC2 timer
counter blocks can be selected
as a system tick timer. Also a Common System Interrupt Handler
is added. It can be used when a
PIT timer is selected as an RTOS tick timer which shares a
common IRQ with other SAM7 system
peripherals.
- Updated: RTOS configuration files for Analog Devices ADuC702X
devices and OKI
ML67Q4003, ML67Q5003 and ML674000 devices.
The code from assembly
Interrupt Handler module IRQ.s has been integrated into
RTX_Config.c
configuration file. This module is nomore required for RTOS
projects.
Note: All RTOS configuration files RTX_Config.c from
Startup folder have been
updated and optimized. It is advised to replace older RTOS
configurations with new configurations.
RTL-ARM Version 3.03 Release
- [RTL-ARM]
- Added: support for Atmel AT91SAM7X device.
RTX_Config.c
configuration for RTX kernel and AT91_EMAC.c driver for
embedded EMAC ethernet
controller were added. Preconfigured examples for AT91SAM7X-EK
Atmel evaluation board can be
found in ..\ARM\RV30\RTL\Boards\Atmel folder.
- [Kernel - Enhancements]
- Added: a mutex task priority inversion - priority
inheritance has been
implemented. When a medium-priority task preempts a
lower-priority task using a shared
resource (a mutex) on which a higher-priority task is pending, a
priority of lower-priority
task is temporary raised to the priority level of a
higher-priority task. As soon as a
lower-priority task releases a mutex, a priority level of this
task is lowered back to a
default value.
- [TcpNet - Enhancements]
- Added: a function http_get_session() to 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.
- Added: PPP Server example Http_demo for Keil MCB2148
evaluation board.
This example can be found in ..\ARM\RV30\RTL\TcpNet\Examples
folder.
- [CAN - Enhancements]
- Added: CAN driver for various arm devices: Atmel AT91SAM7X,
STmicroelectronics
STR73x and STR91x.
- CAN Driver Documentation has been updated.
- [Kernel - Problems Solved]
- Fixed: a problem in RTX_Config.c for all Atmel devices.
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
any further tick-timer interrupts.
- Fixed: a problem in RTX_Config.c for STMicroelectronics
STR91x devices.
A code to disable interrupts was incorrect. Because of this
problem a tick timer
interrupt could happen in a protected section of RTX Kernel
system code following
with a stack overflow and user application crash.
- [TcpNet - Problems Solved]
- Fixed: a problem of DHCP client. Because of this
problem a DHCP client would fail
to obtain an IP address if the IP address configured in
Net_Config.c matches 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 will not return an IP address.
RTL-ARM Version 3.02 Release
- [RTL-ARM]
- Added: support for STMicroelectronics STR912 device.
RTX_Config.c
configuration for RTX kernel and STR9_ENET.c driver for
embedded ENET ethernet
controller were added. Preconfigured examples for MCBSTR9 Keil
evaluation board can be
found in ..\ARM\RV30\RTL\Boards\Keil folder.
- Added: support for Atmel AT91RM9200 and AT91SAM9261
devices. RTX_Config.c
configurations for RTX kernel were added. Preconfigured examples
for AT91RM9200-EK and AT91SAM9261-EK
Atmel evaluation boards can be found in ..\ARM\RV30\RTL\Boards\Atmel
folder.
- [Kernel - Problems Solved]
- Fixed: a mutex task deadlock problem. When a task with
higher priority would
release and again grab a mutex, a lower priority task would
become ready. Because of a
mutex problem, this task would never get a chance to execute,
not even after a timeout.
RTL-ARM Version 3.01 Release
- [RTL-ARM]
- RTL object libraries and examples are reconfigured and
recompiled for
Compiler optimization level O3.
- [CAN - Problems Solved]
- Fixed: a problem in CAN driver for LPC2000. Acceptance
filter
configuration problem is corrected.
RTL-ARM Version 3.00 Release
- [RTL-ARM]
- Updated: all references to legacy term 'Advanced' are removed.
Include definition files
renamed to RTL.h, RTX_Config.h, Net_Config.h.
The configuration
files are also renamed to RTX_Config.c, Net_Config.c,
Net_Debug.c.
The documetation is updated to reflect those changes.
- Added: support for Atmel AT91SAM7X device. RTX_Config.c
configuration for
RTX kernel and AT91_EMAC.c driver for embedded EMAC
ethernet controller were added.
Preconfigured examples for AT91SAM7X-EK Atmel evaluation board
can be found in
..\ARM\RV30\RTL\Boards\Atmel folder.
- [Kernel - Problems Solved]
- Fixed: a problem in RTX_Config.c for ST
Microelectronics STR71x device family.
If the device was running with a high speed system clock but the
EIC peripheral with a slower
PCLK2 clock, the interrupts were not disabled immediately when
an interrupt enable register was
written but with a delay. Because of this problem a tick timer
interrupt might occur in a protected
region of code. This collision has caused an RTX Kernel
malfunctioning or even user application crash.
The fix uses a swi function __swi(8) which is no more
free for the user.
- Fixed: a problem in RTX_Config.c for Analog Devices ADuC702x
device family.
The problem was in a device inability to mask forced-programming
software interrupts.
Because of this problem a tick timer interrupt could happen in a
protected section of
RTX Kernel system code following with a stack overflow and user
application crash.
- Fixed: a problem of potential application crash when a project
was build with
RealView compiler optimization level other than O0. This
was because the
registers R8-R11 were not stored for reduced context
switch. Now the reduced
context switch save also registers R8-R11 on the stack.
Warning: A configuration file RTX_Config.c is not
compatible to older versions
and need to be replaced. If the old configuration is used, the
application
will crash because the initial task stack content is not
compatible
anymore.
RTL-ARM Version 2.11 Release
- [RTL-ARM]
- RTL components Kernel, TcpNet and USB
ported from CARM to RealView Compilation Tools.
- [Kernel - Problems Solved]
- Fixed: a problem of wrong operation of os_mbx_send()
when a message has
been fetched from a full mailbox and then pushed back again from
the same task with
no task switch in between. If another task has been waiting to
send a message to this
mailbox, this task would become ready and would send a message
to a mailbox, which
was full with no space for free messages.
- [USB - Enhancements]
- Updated: all ARTX USB examples to pass the USBCV - USB
Command
Verifier test. All ARTX USB examples can now pass USBCV test.
- [USB - Problems Solved]
- Fixed: a potential problem with memory example ARTX_Memory
which could cause the application to hang when connected to some
of
Windows XP hosts.
- [FlashFS - Problems Solved]
- Fixed: a problem in fdefrag(). If a defragmentation was
requested for
a file system with three or more files, and one of them was
deleted
this function might corrupt the file system. This was the case
when one of
the files from the middle of the file directory list was deleted
before.
ARTX Version 2.01 Release
- [Kernel - Problems Solved]
- Fixed: a problem of potential system hang when os_mbx_send()
was called with parameter
timeout set to 0. If a mailbox was already full a system could
hang in an endless loop.
- Fixed: a problem of wrong operation of os_mut_wait()
when a mutex was released and
acquired again with no delay in between. If another task has
been waiting for this mutex, this
task would become ready and acquire a mutex, which was already
owned by another task.
- Fixed: a problem of failed Round Robin task switching. This
problem has shown when
a higher priority tasks were also running in addition. If a
higher priority task was delayed by
os_dly_wait() or os_itv_wait() function with a
delay time equal to Round Robin timeout
or less than this timeout, a Round Robin task switching did not
work.
- [TcpNet - Problems Solved]
- Fixed: a problem of sending subnet broadcast packets.
This problem prevented sending broadcast
UDP packets on local LAN. This is now fixed and UDP subnet
broadcast packets are sent to Broadcast
Ethernet address FF:FF:FF:FF:FF:FF
- Fixed: a problem of handling broadcast and subnet broadcast
addresses for arp_cache_ip()
function. If IP address is an IP broadcast or subnet broadcast
address, this function returns __TRUE
and does not send an arp request for resolving IP address.
- Fixed: a problem of sending invalid TCP retransmission
packets for second and any further
retransmissions. Each retransmission has extended the packet
size by adding a header length and appending
a garbage data to the end of packet.
- [TcpNet - Enhancements]
- Added: physical link speed select macros for LAN91C111.c
device driver.
The macros allows you to connect only at 10MBit or 100MBit speed
rate. By default
an autonegotiation for speed is used. This might take longer
time to connect.
ARTX Version 2.00 Release
- [ARTX - Enhancements]
- Added: Flash File System implementation. It supports
embedded Flash drives
and RAM drives which can be used simultaneously to store and
retrieve files.
- Added: CAN Driver implementation. It is based on ARTX
Kernel and currently
supports Philips LPC2000 and ST STR7 device family. Two examples
are provided: CAN_Ex1
and CAN_Ex2 which are configured to run on Keil MCB2100
and MCBSTR7
evaluation boards.
- Added: USB Driver implementation. It uses ARTX Kernel
to process USB packets.
The following examples are provided: ARTX_Audio,
ARTX_HID and
ARTX_Memory. They run on
Keil MCB2140 evaluation board.
- Added: new type definitions to ARTX.h header file 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 has been modified to reflect those changes.
- [Kernel - Enhancements]
- Added: new synchronization object mutex for mutual
exclusion locks. The following
functions were implemented: os_mut_init(), os_mut_wait()
and os_mut_release().
- Added: Stack Checking option to ARTX_Config.c
configuration file. When this option is
enabled, ARTX Kernel executes additional code to check for
stack-overflow error.
- Added: new functions os_sys_init_user() which allows to
start the ARTX Kernel
with a task which has assigned an user-provided stack and os_sys_init_prio()
which allows you to start the ARTX Kernel with a task which will
have
assigned a specified priority.
- [Kernel - Problems Solved]
A configuration file ARTX_Config.c is not compatible to older
versions
and need to be replaced.
- [TcpNet - Enhancements]
- Added: TFTP Server has been implemented. It supports
file upload/download to the
Flash File System drives.
- Added: an example TFTP_demo which demonstrates the
usage of TFTP Server.
- Added: new ARP cache control function arp_cache_ip().
It can be used to
resolve the remote MAC address before the first UDP data packet
is sent to target. If remote
MAC address is not resolved from the ARP cache, sending UDP data
packet failed
and packets were lost until ARP entry was cached.
- Added: an example for HTTP Server running with ARTX
Kernel. The existing example
HTTP_demo has been upgraded for two modes: a standalone
application and
HTTP Server running with ARTX Kernel.
- Modified: library function names MemCpy(), MemSet(),
MemCmp() and
StrCpy() to avoid confusion to standard C string
functions. New functions are:
mem_copy(), mem_set(), mem_comp() and str_copy().
- [TcpNet - Problems Solved]
- Fixed: a problem in ARP module which has transmitted invalid
IP address
for ARP requests. This happened when an ARP Cache Entry was
refreshed or ARP request
was retransmitted.
- Added: a check for destination IP address 0.0.0.0 to
TCP module. TCP Connect
requests to this address are now blocked by TCP module. This
also prevents sending ARP
requests for IP address 0.0.0.0
ARTX Version 1.10 Release
- [Kernel - Enhancements]
- Added: os_evt_get() event handling function, which
returns
event flags served by the os_evt_wait_or() function.
- Added: several examples were added to Keil\ARM\ARTX\Examples
base folder:
- Keil\ARM\ARTX\Examples\RoundRobin: shows round-robin
task switching.
- Keil\ARM\ARTX\Examples\Semaphore: shows how to use a
shared resource
UART from different tasks using a semaphore.
- [Kernel - Problems Solved]
- Fixed: configuration problem of tick timer reload in ARTX_Config.C
configuration
files for OKI and ST devices variants. Improper tick timer reload
could
cause stalls in Kernel delay handling when isr_mbx_send(),
isr_evt_set() and
isr_sem_send() functions were used.
- Fixed: core problem of invalid delays when frequent isr_xxx_xxx
function
calls were made from interrupt functions. This could cause
shorter delays than
specified for os_dly_wait(), os_itv_wait() and other system delay
and timeout functions.
- Fixed: problem in os_mbx_wait() and os_sem_wait()
functions when they were
called with timeout parameter set to 0. In this case the
function
has returned wrong result value. The timeout value 0 is
used to fetch a message
or obtain a token from a semaphore without waiting for one.
- Modified: ARTX_Config.C configuration files for all
device variants.
The function os_tmr_set_ovf() has been replaced with os_tmr_force_irq()
function.
A configuration file ARTX_Config.c is not compatible to older
versions and
need to be replaced.
- [TcpNet - Problems Solved]
- Fixed a problem in Telnet server when some characters were not
echoed back. This has happened if
typing on remote Telnet client was too fast.
- Fixed a problem of locking-up an LAN91C111 ethernet
controller on high traffic LANs. This
could happen when a lot of packets are received in short time
and the CPU is not fast enough
to process all of the packets. When the MMU unit of LAN91C111
ethernet controller is locked,
the driver now restarts the MMU unit to prevent lockups.
- [TcpNet - Enhancements]
- Added configurable PPP retransmissions and timeouts to ANet_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.
- Added new functions http_get_info() and tnet_get_info()
to retrieve the remote
machine IP address and MAC adddress. Those
functions can be used to limit access
rights from remote machines based on remote IP address or MAC
address.
- 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:
- ..\ARM\ARTX\SRC\TcpNet\Serial.C: for Philips LPC21xx and
LPC22xx devices.
- ..\ARM\ARTX\SRC\TcpNet\Serial_S3C44B0X.C: for Samsung
S3C44B0X devices.
Older versions of ANet_Config.c configuration files are not
compatible to this version
and need to be replaced.
ARTX Version 1.02 Release
- [Kernel - Enhancements]
- Added: ARTX_Config.C configuration files for OKI
devices
variants:
- ..\ARM\Startup\OKI\ARTX_Conf_ML67.C: for OKI ML67xxx
devices.
ARTX Version 1.01 Release
- [Kernel - Enhancements]
- Added: ARTX_Config.C configuration files for the
following
devices variants: AT91SAM7Sxx, STR71x, ADuC702x. The configuration
files
are located in the base folder Keil\ARM\Startup. The following
ARTX-ARM configuration files are currently available:
- ..\ARM\Startup\Atmel\ARTX_Conf_SAM7S.C: for Atmel
AT91SAM7Sxx
devices.
- ..\ARM\Startup\Philips\ARTX_Config.C: for Philips LPC21xx
and
LPC22xx devices.
- ..\ARM\Startup\ST\ARTX_Conf_STR71x.C: for ST
Microelectronics
STR71x devices.
- ..\ARM\Startup\ADI\ARTX_Conf_ADuC702x.C: for Analog Devices
ADuC702x devices.
- Added: example projects for various Evaluation Boards that
show the
usage of ARTX-ARM on various devices. The following examples are
currently available:
- ..\ARM\Boards\Atmel\AT91SAM7S\ARTX_Blinky: for Atmel
AT91SAM7S Microcontroller Board.
- ..\ARM\Boards\ST\STR7\ARTX_Blinky: for ST
Microelectronics STR71x devices running on ST STR7 Evaluation Board.
- ..\ARM\Boards\Hitex\STR7\ARTX_Blinky: for ST
Microelectronics STR71x devices running on Hitex STR7 Evaluation
Board.
- ..\ARM\Boards\ADI\ADuC702X\ARTX_Blinky: for Analog Devices
ADuC702x devices.
Note: ..\ARM\ARTX\Examples\Blinky contains an
example that is configured for Philips LPC21xx devices an runs on the
Keil MCB2100 and MCB2130 Evaluation Board.
- Modified: the ARTX-ARM specific Software Interrupt Handler in the
module Swi_ARTX.S is now generic for all ARM7 devices variants.
Some devices require a NOP instruction to avoid DATA ABORT traps
between
stack switching.
- Enhanced: the Stack Load display in the dialog Peripherals
- Advanced RTX of the RUNNING task is now updated from the current
SP value.
ARTX Version 1.00a Release
- [Kernel - Enhancements]
- New functions os_tsk_create_ex() and os_tsk_create_user_ex()
are
implemented. It is now possible to pass a parameter to a task
when it is
created using this function. This
is useful when a single task is started in multiple instances.
- A function os_tsk_prio() is updated to accept also a
task
identification to change the execution priority of any other
task. A new macro
os_tsk_prio_self() is introduced for consistency to
change a priority
of a currently running task.
A configuration file ARTX_Config.c is not compatible to older
versions and
need to be replaced.
ARTX Version 1.00 Release
- [Kernel - Problems Solved]
Task switch function has been optimized and updated. ARTX_Config.c
configuration
file has been updated to support the uVision debug dialog.
- [Kernel - Enhancements]
Documentation is updated and Alinks are added. This enables
context sensitive
help by pressing F1 from µVision. All examples were updated to run
also on
Keil evaluation boards MCB2100 and MCB2130.
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 © ARM Ltd. and Keil - An ARM Company.
All rights reserved.
Visit our web site at www.keil.com.
|