On Wed, Nov 17, 1999 at 09:34:50AM -0500, Adam Meyerowitz wrote:
> Where does one find more information about miniRTL 2.0?
http://www.thinkingnerds.com/projects/minirtl/minirtl.html
Nice work.
>
> Thanks
> Adam
>
>
> At 03:32 PM 11/16/99 -0700, [EMAIL PROTECTED] wrote:
> >On Tue, Nov 16, 1999 at 02:47:22PM -0700, [EMAIL PROTECTED] wrote:
> >> THANKS, Stuart and GN DeSouza for the table posted comparing RTL & RTAI in
> >> such a basic and cogent way! A first question about it:
> >> Under the column 486, RTL v2 with linux kernel 2.2.x reads "n" =>
> >> presumably meaning this does not run on 486's. But is that true? I've run
> >> miniRTL 2.0 derived directly from RTL 2.0, with kernel 2.2.13 on a
> Pentium I.
> >
> >The table is not correct. We do great on 486s now.
> >
> >>
> >> Either way, this table would be great in THE RT MANUAL, with a change in
> >> header(s) so as to include 586es. I could help with the manual too, but
> >> again as noviate.
> >>
> >> Dr. S.C.
> >>
> >>
> >> At 02:54 PM 16-11-1999 +0000, you wrote:
> >> >Hi Gloria,
> >> >
> >> >I have forwarded a table previously posted on the RTL list.
> >> >
> >> >Stuart.
> >> >
> >> >Gl�ria wrote:
> >> >>
> >> >> Hello:
> >> >>
> >> >> Is there any document about the differences betwen RTL and RTAI?
> >> >>
> >> >> Thanks in advance.
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Gl�ria Hern�ndez Ballester
> >> >>
> >> >> e-mail: [EMAIL PROTECTED]: [EMAIL PROTECTED]
> >> >Return-Path: [EMAIL PROTECTED]
> >> >Received: from rtlinux.cs.nmt.edu (rtlinux.cs.nmt.edu [129.138.6.62]) by
> >> hinge.mistral.co.uk (8.8.5/8.6.9) with ESMTP id TAA15859; Thu, 7 Oct 1999
> >> 19:46:31 +0100
> >> >Message-Id: <[EMAIL PROTECTED]>
> >> >Date: Thu, 7 Oct 1999 14:35:38 -0500 (EST)
> >> >From: Guilherme Nelson DeSouza <[EMAIL PROTECTED]>
> >> >Reply-To: Guilherme Nelson DeSouza <[EMAIL PROTECTED]>
> >> >Subject: [rtl] Table, API
> >> >To: [EMAIL PROTECTED]
> >> >MIME-Version: 1.0
> >> >Content-Type: TEXT/plain; charset=us-ascii
> >> >
> >> >Content-MD5: rhcKNx2XyqRpurLqxAPS+g==
> >> >
> >> >
> >> > Again, thanks to those who sent corrections/suggestions.
> >> >
> >> > The table and API-differences below are getting smoother.
> >> >I hope it has converged to something useful to other people
> >> >in this list.
> >> >
> >> > As we all (probably) expected, the differences between RTL
> >> >and RTAI are NOT that many (refer to RTLv2 and RTAIv6). As
> >> >a matter of fact, in my opinion the "only" discussion in this
> >> >list should be around POSIX compliance, once that this should
> >> >be the common denominator and, at the same time, the unifier
> >> >between both implementations. Other than that there are some
> >> >"unimportant" details such as unified header files, similar
> >> >installations, etc. But yet, that should come naturally after.
> >> >
> >> >
> >> > Guilherme
> >> >
> >> >
> >>
> >---------------------------------------------------------------------------
> >> -------
> >> >| | I | S | Sched. | S |Po- |pthre|F | Shr| FP | GPL | Ker- | 486
> >> | PPC |
> >> >| | P | e | | | M | six | -| I | Mem| | | nel |
> >> | |
> >> >| | C | m |Per.| OS | P | |ads | FO| | | | |
> >> | |
> >>
> >-------------------|-------------------------------------------------------
> >> -------
> >> >| | | | | | | | | | | | | |
> >> | |
> >> >| RTL | o | o | w/ | w/ | n | * | n | y | o | y | y | 2.0.x | y
> >> | n |
> >> >| v1 | | |8254|8254| | | | | | | | |
> >> | |
> >> >| | | | | | | | | | | | | |
> >> | |
> >>
> >---------------------------------------------------------------------------
> >> -------
> >> >| | | | | w/ | | | | | | | | |
> >> | |
> >> >| | | | |8254| | | | | | | | |
> >> | |
> >> >| | | | | + | | | | | | | | |
> >> | in |
> >> >| | | | w/ |TSC | | | | | | | | |
> >> | |
> >> >| RTL | o | o | | | y | * | ** | y | o | y | y | 2.2.x | n
> >> |deve-|
> >> >| v2 | | |8254|APIC| | | | | | | | |
> >> | |
> >> >| | | | | in | | | | | | | | |
> >> |lopm.|
> >> >| | | | |SMP | | | | | | | | |
> >> | |
> >> >| | | | | | | | | | | | | |
> >> | |
> >>
> >---------------------------------------------------------------------------
> >> -------
> >> >| | | | |8254| | | | | | | | |
> >> | |
> >> >| | | | | in | | | | | | | | |
> >> | |
> >> >| | | | |UP -| | | | | | | | |
> >> | |
> >> >| | | | |SMP | | | | | | | | |
> >> | |
> >> >| | | | w/ | & | | | | | | | | | y
> >> | |
> >> >| RTAI| y | y | |MUP | y | * | ** | y | o | y | y | 2.2.x |
> >> | n |
> >> >| v.6 | | |8254| | | | | | | | | |(for
> >> | |
> >> >| | | | |APIC| | | | | | | | |1
> >> CPU| |
> >> >| | | | | in | | | | | | | |
> >> |only)| |
> >> >| | | | |SMP | | | | | | | | |
> >> | |
> >> >| | | | | & | | | | | | | | |
> >> | |
> >> >| | | | |MUP | | | | | | | | |
> >> | |
> >>
> >---------------------------------------------------------------------------
> >> -------
> >> >
> >> > y - embeded in the RT modules
> >> > n - not implemented
> >> > o - optional (it can be "insmod'ed" separately)
> >> > * - in RTAI, a POSIX lite API is implemented on top of the original API
> >> > in RTL, the original API is implemented on top of a POSIX lite API.
> >> >** - RTAI - dynamic thread creation, conditional variables and priority
> >> > inheritance mutex,
> >> > RTL - static thread creation.
> >> >
> >> >
> >> >Original API comparison
> >> >=======================
> >> >
> >> > What follows is a comparison btw the two original APIs (RTAI
> >> >and RTLv1). We are not listing the POSIX (lite) API present in
> >> >both recent releases of RTAI and RTL.
> >> >
> >> >
> >> >set up peridic mode
> >> >------------------
> >> >
> >> >RTL:
> >> > RTIME task_ticks;
> >> > task_ticks = (RT_TICKS_PER_SEC/FREQ);
> >> > rtl_set_periodic_mode(task_ticks);
> >> >
> >> >RTAI:
> >> > RTIME task_ticks;
> >> > rt_set_periodic_mode(void);
> >> > task_ticks = nano2count(1000000000/FREQ)
> >> > start_rt_timer(task_ticks)
> >> >
> >> >
> >> >Tell Linux you will be using the FPU
> >> >--------------------------------------
> >> >
> >> >RTL:
> >> > ??
> >> >
> >> >RTAI:
> >> > rt_linux_use_fp(1)
> >> >
> >> >
> >> >initialise a task
> >> >-----------------
> >> >
> >> >RTL:
> >> > rt_task_init( RT_TASK *task,
> >> > void (*fn)(int),
> >> > int data,
> >> > int stack_size,
> >> > int priority )
> >> >
> >> > If it uses the FPU, add:
> >> >
> >> > rt_task_use_fp( RT_TASK *task, 1 )
> >> >
> >> >RTAI:
> >> > rt_task_init( RT_TASK *task,
> >> > void (*fn)(int),
> >> > int data,
> >> > int stack_size,
> >> > int priority,
> >> > int uses_fpu,
> >> > void (*signal)(void) )
> >> >
> >> >
> >> >
> >> >set a (periodic) task running
> >> >-----------------------------
> >> >
> >> >RTL/RTAI:
> >> >
> >> > rt_task_make_periodic( RT_TASK *task,
> >> > RTIME start_time_ticks,
> >> > RTIME period_ticks)
> >> >
> >> >
> >> >suspend a running task until the next tick
> >> >-------------------------------------------
> >> >
> >> >RTL:
> >> > rt_task_wait(void)
> >> >
> >> >RTAI:
> >> > rt_task_wait_period(void)
> >> >
> >> >
> >> >
> >> >cleanup/stop a task
> >> >--------------------
> >> >
> >> >RTAI: stop_rt_timer(void)
> >> >RTL/RTAI: rt_task_suspend(RT_TASK *task)
> >> > rt_task_delete( RT_TASK *task)
> >> >
> >> >
> >> >create a fifo
> >> >--------------
> >> >
> >> >RTL:
> >> > rtf_create(unsigned int fifo, int fifo_size)
> >> >
> >> >RTAI:
> >> > rtf_create_using_bh(unsigned int, int size, 0)
> >> >
> >> >NOTE: both can be used with the simple rtf_create, but the behaviour is
> >> >different. Under RTAI, a user task will only be woken up at the next
> >> >run of schedule (this is an intended feature). To get the same effect
> >> >of waking up as soon as possible, use the above code.
> >> >
> >> >
> >> >put data to a fifo
> >> >-------------------
> >> >
> >> >RTL/RTAI:
> >> > rtf_put(unsigned int fifo, void *buf, int count)
> >> >
> >> >
> >> >get data from a fifo
> >> >----------------------
> >> >
> >> >RTL/RTAI:
> >> > rtf_get(usigned int fifo, void *buf, int count)
> >> >
> >> >
> >> >
> >> >destroy a fifo
> >> >---------------
> >> >
> >> >RTL/RTAI:
> >> > rtf_destroy(usigned int fifo)
> >> >
> >> >
> >> >
> >> >Filename comparison
> >> >===================
> >> >
> >> >Another problem is the name and location of files. This means that
> >> >Makefiles and code has to be changed to locate the different include
> >> >files.
> >> >
> >> >Header names
> >> >-----------
> >> >
> >> >RTL:
> >> > rtl_fifo.h, rtl_sched.h
> >> >
> >> >RTAI:
> >> > rtai_fifos.h, rtai_sched.h
> >> >
> >> >Note: in addition you must also include rtai.h first for RTAI.
> >> >
> >> >
> >> >
> >> >
> >> > -------------< G. N. DeSouza >-------------
> >> > ---------< [EMAIL PROTECTED]>---------
> >> > --< http://rvl1.ecn.purdue.edu/~gnelson >--
> >> >
> >> >
> >> >
> >> >
> >> >------------- End Forwarded Message -------------
> >> >
> >> >
> >> >
> >> >
> >> > -------------< G. N. DeSouza >-------------
> >> > ---------< [EMAIL PROTECTED]>---------
> >> > --< http://rvl1.ecn.purdue.edu/~gnelson >--
> >> >
> >> >
> >> >
> >> >--- [rtl] ---
> >> >To unsubscribe:
> >> >echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> >> >echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> >> >----
> >> >For more information on Real-Time Linux see:
> >> >http://www.rtlinux.org/~rtlinux/
> >> >
> >> >
> >>
> >> --- [rtl] ---
> >> To unsubscribe:
> >> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> >> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> >> ----
> >> For more information on Real-Time Linux see:
> >> http://www.rtlinux.org/~rtlinux/
> >--- [rtl] ---
> >To unsubscribe:
> >echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> >echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> >----
> >For more information on Real-Time Linux see:
> >http://www.rtlinux.org/~rtlinux/
> >
> --- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ----
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/~rtlinux/
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/