Re: [uCsimm] RT for uClinux

From: Stuart Hughes (sehughes@zentropix.com)
Date: Tue Feb 08 2000 - 04:05:20 EST


권석근 wrote:
>
> Hi, all.
> this is kwonsk.
>
> I'm happy to introduce my Real Time port to uClinux.
> Sometimes ago Real Time support request was planty in this mailing list.
> But actully I didn't see any real anouncement of RT support.
> I used RTlinux for i386 about a year for 2 axis motion control (source from
> EMC)
> and when i got my uCsimm i realy want to see RT support for this
> lovely thing.
> About a few weeks ago, Bernhard Kuhn posted his RTEC v0.4 in this mailing
> list. And I was very excited for hearing that. But after patching RTEC to
> uClinux
> and testing on uCsimm, I realized that it didn't works correctly in real
> hardware.
> I've tested port toggling task with RTEC and i counld not see expeced wave
> form on
> my oscilloscope. So, i just waited another posting from Bernhard Kuhn.
> But Bernhard Kuhn said, in his mail, that RTEC v0.4 is his final release
> becase
> hi didn't want to re-invent wheel. Does this mean that some official RT
> porting
> is progressing? or waiting final API setup after RTL conference at vienna?
> But i coudn't wating, i'm a silly person who cannot wait yet unknown future
> event.
> Therefore i've hacked uClinux based on Burnhard Kuhn's great job.
> After Some hard work and surveying papers from RTL site, i decided that
> i must start from basics. and i've wrote codes from scratch based on
> original sti/cli emulation scheme from RTL. And got result what i wanted.
> My porting is based on RTL release 9J (it's for 2.0.36), and have almost no
> differences
> from original code except hardware specific sti/cil emulateion code in
> entry.S
> RT-fifo, RT-scheduler is the same with RTL release 9J and as you geuss
> RT interface routine is exactly that of RTL realease 9J.
>
> I'm now seeing two rectagular waves on my oscilloscope and it's beautiful.
> one has 4 msec interval and another has 5 msec interval. Drift is about
> <100usec
> And this wave is running about 24 hours and keeps going.
> I tryed 'ping -f 192.168.1.200' (this ping flood test will almost hang
> uCsimm with normal
> uClinux) and wave does not change. Yah, it works!
> and tested frank example (an example in the examples directory of RTL
> release9J which
> test ft-fifo with one control rt-task and two periodic task) and it works
> too!
>
> I'm preparing my patch for uClinux 2.0.38, and all of you could see it
> within a week.
>
> BTW, May RTL from rtlinux.cs.nmt.edu be changed to have another interface
> (API)?
> and that's the reason what Burnhard Kuhn thought? If that's true, then
> i'm silly for this temporary job.
>
> Thanks.
> Kwon Seok Kuon. kwonsk@mutech.co.kr
>
Hi Kwon

Excellent work, you may have saved me weeks of work :-). The change in
API that was discussed at Vienna was that there should be a common API
for RTL/RTAI based on the original NMT v1 API (the one you ported). The
difference would not be that great, and a proposal has been put on the
RTLinux mailing list.

The reason for this is that the 2.2 versions of RTL moved to a 'POSIX
like' API as its native API, with the old stuff only working in
compatibility mode (it is an either or selection). This means that
there is now no easy compatibility between RTL and RTAI and so we all
asked for a common API. As far as RTL goes, its POSIX api has many
non-standard posix extensions (suffix _np) this is bad news for people
hoping to gain portability from using POSIX. On the other hand RTAI has
an optional module that implements POSIX threads in a standard way (with
mutexes and condition variables).

Anyway, there's the background, if you would like to know more, please
ask.

Again thanks to Kwon and Bernhard for getting this stuff done.

Regards, Stuart.

This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:34 EST