|
New Features in On Time RTOS-32 4.0
In addition to the features listed here, On Time RTOS-32 4.0 also
supports communication with USB devices through its new component RTUSB-32.
RTTarget-32
- Team Licensing
We have extended our per-person
licensing model used with previous versions of On Time RTOS-32 to teams.
If you need to license On Time RTOS-32 for several persons working in a
team, new discounts of 50% for libraries and even 100% for source code can
now be applied for each additional team member.
- HTML Help Online Documentation
The documentation
for On Time RTOS-32 has been restructured. All programming manuals and
reference manuals are installed as a Microsoft HTML Help files collection
with table of content, index, and full text search capability.
- Visual Studio Help/MSDN Integration
The On Time
RTOS-32 online help files can be integrated with the Visual Studio
MSDN Library, allowing keyword look-up within Visual Studio to open and
display On Time RTOS-32 help files.
- Visual Studio.NET and Visual C++ 7.0/7.1/8.0 Support
Visual Studio 6.0, .NET, .NET 2003, 2005, and Visual C++ Express Edition
are fully supported by On Time RTOS-32, including remote debugger
integration. For command line development, Microsoft Visual C++ 5.0, 6.0,
7.0, 7.1, and 8.0 are supported.
- Host - Target Communication via Parallel Ports
As an alternative to debugging and downloading over RS232, parallel ports
are now supported using Parallel LapLink Cables.
Any available parallel port on the target and host can be used. EPP or ECP
capabilities are not required. The download speed over parallel ports
depends on the speeds of host and target computers and is typically 5 to
10 times faster than over RS232 (i.e. 50k to 100k bytes per second of
compressed data).
- High Level Interrupt Handling API with Shared Interrupt Support
The new function RTInstallSharedIRQHandler supports the installation of
hardware interrupt handlers completely written in C/C++. In addition, it
allows up to 32 PCI devices to share a single IRQ.
- Memory Mapped Files
Win32 API functions
CreateFileMapping(), MapViewOfFile(), etc. are now supported (although
their use only makes sense in conjunction with RTFiles-32). Memory mapped
files can be used to create a very large virtual address space backed by
disk files. Two new demo programs are shipped with RTTarget-32. A database
demo manages a database file of several hundred megabytes mapped into the
target's virtual address space. While the program accesses the mapped
address space, the file's data is swapped in on demand. A virtual memory
heap demo shows how an application can use a heap of up to 2 gigabytes
size located in virtual memory, even if only a fraction of the required
RAM is installed. The real-time performance of an application using
memory mapped files is not negatively affected. Application code or data
not located in a memory mapped file is never swapped by the system. Disk
swapping operations can always be preempted by high priority threads.
- RAM/ROM File System Supports File Creation and Modification
RTTarget-32's RAM/ROM file system has been enhanced to fully support file
create and write access to RAM files. Applications can modify files included in
an image with "Locate File...", using Win32 or C/C++ run-time
system functions such as fopen(), fread(), etc. Additional files can be
created. The file's data is stored in RAM on the application's heap. The
file data is maintained until the files are deleted or the application
terminates.
- Decompression Code Smaller and 40% Faster
The
decompression code has been recoded in assembler. Boot time is reduced
significantly for many applications.
RTKernel-32
- Win32 Critical Sections Faster by a Factor of 5
Functions EnterCriticalSection() and LeaveCriticalSection() have been
redesigned and are now written in assembler. Because many applications and
the C/C++ run-time systems make heavy use of critical sections, this
enhancement can have a dramatic impact on overall application
performance.
- New RTK...Until Operations
The following
intertask communication functions have been added: RTKWaitUntil,
RTKGetUntil, RTKPutUntil, RTKPutFrontUntil, RTKReceiveUntil, and
RTKSendUntil. Unlike their RTK...Timed() counterparts which time out after
a given period of time, these functions are called with an absolute time
as a timeout.
- High Resolution Timer above 4GHz Support
High
resolution timer hardware (including the clock cycle counter register of
Pentium CPUs) with very high frequencies is now supported. Thus,
RTKernel-32 is ready for the next generation of high speed CPUs.
- High Resolution Timer API with 64 Bit Support
For compilers with a native 64 bit integer type (e.g., Microsoft Visual
C++'s __int64 type), time intervals can now be measured with 64 bits
resolution. In addition to seconds, milli- and microseconds, API functions
to measure time intervals with a nanosecond resolution have been
added.
- High Level Interrupt Handling API with Shared Interrupt Support
The new function RTInstallSharedIRQHandler supports up to 32 PCI devices
to share a single IRQ.
- New Supplemental Module RTProf
RTKernel-32's new profiler can help optimize application performance.
RTFiles-32
- DMA Transfer Mode
IDE disks are automatically
operated in Ultra DMA or Multiword DMA mode, if supported by the disk and
host controller.
- Long File Name Support
Long file name
support has been added to RTFiles-32.
- Unicode Support
Through its new code page and
UTF-8 support, RTFiles-32 supports the full range of Unicode characters in
file names.
- Extended File Size Support
RTFiles-32 now
supports files with a size up to 1 terabyte.
- New Function RTFCheckDisk
New native API
function RTFCheckDisk can detect and automatically repair the following
common file system problems:
- Master and backup FAT mismatch
- Invalid characters in file names
- Invalid file attribute combinations
- Invalid FAT entries
- File size information in directory and FAT mismatch
- File chain crosslinks
- Lost clusters
- Orphaned long file names
Each check can be enabled or disabled. Optionally, the user can be
prompted before each fix is applied.
- New Function RTFCompactDir
RTFCompactDir can
remove no longer required directory entries, speeding up subsequent
directory searches.
- New Buffer Cache Management Strategy
The
algorithm to select cached sector buffers to discard has been redesigned.
It is now up to 50% faster than in previous versions and avoids cache
thrashing when the cache is populated with many dirty buffers. The cache
efficiency has also been improved.
- IDE Driver Supports Disks above 128G Size
The
latest ATA-6 specification for accessing IDE disks with more than 128G
bytes capacity is supported.
- IDE Driver Supports Controller Read/Write Cache
Management
The IDE driver will now enable the read lookahead
and delayed write caches of modern IDE disks. The write cache is flushed
at program termination. The disk's write cache can optionally be
disabled.
- M-Systems' DiskOnChip Millennium 2000 Plus Support
The latest M-Systems driver is integrated, supporting the new DiskOnChip
Millennium 2000 Plus flash disks.
- Supports ISO 9660 File Systems
RTFiles-32 4.0
supports the standard format used for data CD-ROMs and DVDs. Extensions to
the ISO 9660 standard such as 9660-Relaxed or Joliet are supported. Most
UDF volumes also contain an ISO 9660 directory tree and are thus also
supported.
RTIP-32
- Fully Integrated with On Time RTOS-32
RTIP-32
now resides in the same directory tree as all other On Time RTOS-32
components. All required libraries are shipped precompiled. Many examples
are included with all required source files and build scripts. RTIP-32 4.0
also participates in On Time RTOS-32 maintenance releases and
patches.
- WinSock Source Code Compatibility
If only the
Berkeley socket API is being used, application programs can be written to
be compiled for On Time RTOS-32 or for Win32. Most RTIP-32 demos shipped
with RTIP-32 4.0 can be compiled for Windows or On Time RTOS-32 without
source code modifications.
- Standard On Time Licensing Terms
RTIP-32 is now
offered under the same licensing terms as all other On Time RTOS-32
components (that is, licensed per person or team for an unlimited number
of projects, no run-time royalties).
- Available as Low-Cost Library-Only Version
It
is no longer required to purchase the RTIP-32 source code, although the
source code continues to be available as an optional add-on. The source
code of all RTIP-32 Ethernet drivers is always included in the
product.
- New Ethernet Driver
The number of drivers is
continuously expanded. Some of the new drivers are: STMicroelectronics
STE10/100A, DEC/Intel 21x4x (Tulip), VIA VT6105L (Rhine III), ASIX AX88172
and AX88772 USB-Ethernet-Bridge (RTUSB-32 required), Davicom DM9102A,
National Semiconductor DP83815, Intel 8254x (Gigabit Ethernet).
- Availability of an SNTP Client
SNTP, the Simple Network Time Protocol, is available as an add-on for
RTIP-32 4.0.
- Availability of an SMB Client and SMB Server
SMB is the protocol used by Microsoft Windows to access files over a
network. The SMB Client allows an On Time RTOS-32 embedded system to
access files located on a network share published by another computer on
the network. The SMB Server can be used to publish network directories
such that other computers on the network can access files on them.
RTPEG-32
- Unicode Font Pages
Reduced Fonts are no longer
reencoded. Therefore, an application can select an arbitrary set of
character ranges from a Unicode font to reduce its size to the actually
required characters, yet maintain compatibility with the Unicode
standard.
- Based on Swell Software's PEG Version 1.8
The
latest release from Swell Software has been merged into RTPEG-32,
providing many improvements.
- Commandline Tool for Multilingual String Table
Maintenance
Multilingual applications can now be built with
a separate ASCII or Unicode text file for each language. The new utility
program MkStrTab.exe can read these files and build all required string
tables to be linked into the application.
- PNG Bitmap Format Support
In addition to BMP,
GIF, and JPG, the PNG format is now also supported by the PegImageConvert
program. PNG images can also be converted into the RTPEG-32 bitmap format
at run-time.
- ZLIB Compression and Decompression Library
RTPEG-32 now contains a general purpose data compression and decompression
library for buffer-to-buffer compression/expansion. The format of
compressed data is compatible with RFCs 1950 (zlib format), 1951 (deflate
format), and 1952 (gzip format). The compression library can be used for
PNG bitmaps and any other application data.
- Unicode Support in Library-Only Version
The
Unicode libraries of RTPEG-32 are now included in the library-only version
of the product. Purchasing the source code is no longer required to
support Unicode.
Upgrade 3.0 -> 4.0 Issues
In general, On Time RTOS-32 4.0 is compatible with version 3.0. This
section discusses a few issues to consider when a project is migrated to
version 4.0:
- Watcom C/C++ Support Discontinued
Watcom
libraries are no longer shipped with On Time RTOS-32. If you nevertheless
plan to use Watcom C/C++ 10.5, 10.6, or 11.0, you need to purchase the On
Time RTOS-32 source code and build the required libraries.
- Microsoft Visual C++ 2.x and 4.x Support
Discontinued
The Microsoft libraries shipped with On Time
RTOS-32 have been compiled with MS Visual C++ 5.0 and are therefore not
compatible with older Visual C++ versions. If you nevertheless plan to use
an older Visual C++ compiler, you need to purchase the On Time RTOS-32
source code and build the required libraries.
- RTLoc Option -g Disabled by Default
By default,
RTLoc will no longer generate RTD32 compatible debug symbol tables
(Borland format). For Borland compilers or when RTD32 is not used,
generating symbol tables is not required. Microsoft Visual C++ users who
wish to use RTD32 instead of the Visual Studio debugger must add RTLoc
command line switch -g+.
- RTKernel-32 Flag RF_WIN32CS_MUTEX
Due to the
new implementation of Critical Sections, flag RF_WIN32CS_MUTEX is no
longer supported. Win32 Critical Section now always implement the same
semantics as under Windows.
- RTKernel-32 Default Memory Driver
The default
memory driver for RTKernel-32 in library Drvrt32.lib has been changed from
Memw32 to Memstch for best compatibility, improved speed, and memory
efficiency. If your application requires memory driver Memw32, then you
must add library Memw32.lib to the linker commandline.
- RTIP-32 Drivers
Drivers for discontinued or
obsolete Ethernet controllers have been removed from RTIP-32 4.0. Please
see the RTIP-32 page for an up-to-date list of
supported Ethernet controllers.
- RTIP-32 Add-On NFS
The NFS add-on for RTIP-32
has been discontinued. However, the new SMB Client and SMB Server add-ons
are available as powerful replacements for NFS.
|