New real-time Linux common API available for download
Jun 13, 2000 — by Rick Lehrbaum — from the LinuxDevices Archive — viewsLineo Industrial Solutions Group has released an open source Real-Time Common API that allows programmers to code to a common API when using either NMT RTLinux or DIPARM RTAI implementations of real-time Linux. The effort was undertaken subsequent to the Real-Time Linux Workshop held in Austria last December, in response to overwhelming sentiment at that conference in favor of a common real-time Linux… API. The new Real-Time Linux Common API is released under the LGPL license and is available for public ftp download, here.
Although Cygnus (now Red Hat) proposed an alternative common API last September based on POSIX, called EL/IX, many users of RTLinux and RTAI have expressed preference for the simpler programming model offered by the two most popular real-time Linux implementations. According to Lineo's Dave Beal, EL/IX still has merit and may be supported in the future, as an added option.
Beal describes the new API, as follows: “The new API is similar to the RTLinux V1 and RTAI APIs. The principal benefit of this compatibility API is that real-time developers can write code that can be compiled and run for both RTLinux and RTAI, without the need for exception code. This approach leads to more maintainable and testable code, reducing the cost of maintaining applications under the real-time projects. Implementation of the real-time Linux common API is a simple matter of including a header file at task compilation time. This header file maps the RTLinux/RTAI calls to one or more native calls, without impacting performance.”
In the words of the readme file: “The Realtime Linux Common API is a header file that allows a developer to write Realtime Linux source code that will compile and run under RTAI or NMT RTL. This is done using a series of defines, macros and inline functions. In addition, the common api will allow existing RTAI or NMT RTL source code to be compiled under RTAI and NMT RTL at the same time. This is accomplished by #include'ing the rt_compat.h header file.” Common API functions include:
- rt_task_create
rt_task_del
get_time_ns
rt_task_wait_period
rt_task_suspend
rt_task_resume
rtl_task_make_periodic
rt_timer_stop
rt_mount
rt_unmount
rtf_create
Related stories:
Real Time Linux Gurus Take Linux to the Next Level
Cygnus Moves to Pre-empt Embedded Linux Fragmentation
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.