Re: [rtl] Exception 0xe?

2001-02-23 Thread Tomasz Motylewski

On Fri, 23 Feb 2001, Michael Barabanov wrote:

> Christopher D. Carothers ([EMAIL PROTECTED]) wrote:
> > Hi. Does anyone know what exception 0xe is?? rtl_debug is catching
> > it. It comes about when I increase the amount of memory in my RT
> > application. I am allocating an array that is 8 MB. This exception is not
> > generated if I used say 1K of RAM for the array.  My system is a dual
> > P-II, running 2.4.1 linux and rtlinux-3.0.

And how do you allocate that memory? vmalloc? Then you should touch all the
pages (for example write 0 to the first byte of every page) before you use
this memory in RT. THIS IS IMPORTANT AND OVERLOOKED ! I am talking here about
kernel space vmalloc.

> Exception 0xe is a memory fault. Could you please post the code that
> generates it?

--
Tomek

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




Re: [rtl] memory

2001-02-23 Thread David Olofson

On Friday 23 February 2001 22:03, Jeffrey Krasky wrote:

> Is it possible to have a process address more than 2^32 bytes of RAM (4GB)
> using kernel 2.2.14 or 2.2.15 or 2.2.16 on Pentiums?  Someone told me that
> since the Pentium is only a 32 bit processor, I can't address over 2^32
> bytes.

That's basically correct, although you *can* still "abuse" the virtual memory 
hardware to implement a form of "bank switching", similar to what 8 bit 
systems with 16 bit address busses used to do. However, I don't know if there 
are any main boards with hardware support for something like that...

It seems trivial to reserve a part of the physical address space for bank 
switched RAM and have the OS deal with it similar to a mmapp()ed file that's 
in the bank switched RAM, rather than on a traditional disk, but I don't know 
if it has been done.

You should ask the database community about this. They're the ones who use 
these huge amounts of physical RAM for real work. (Most of them seem to do it 
on Alpha or other 64 bit architectures, though - much easier and cleaner, and 
more efficient.)


//David

.- M A I A -.
|  Multimedia Application Integration Architecture  |
| A Free/Open Source Plugin API for Professional Multimedia |
`--> http://www.linuxaudiodev.com/maia -'
.- David Olofson ---.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`--> [EMAIL PROTECTED] -'
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




[rtl] old email

2001-02-23 Thread Jeffrey Krasky




Hi,
I was going through my archive of RTLinux emails and I saw that this 
person, Roman Grigoriev, had experienced a problem I have.  The email was 
forwarded, so I lost his email address.  But, Roman, if you are still on 
the list, can you tell me what you did to get around this problem?
 
Jeff
 
 
>Hi Guys!
>I've downloaded rtlinux3.0-test10 from 
your site
>I have 
>PIII-800 
>RAM128Mb 
>20Gb IBM UATA100 disk 
>HightPoint HPT370 controller
>Linux ManDrake 7.2 with 2.4 
kernel
>I compiled and make it all 

>I Tried to load from new kernel but got 
message 
>VFS panic: unable to mount 
/dev/hde6
>I downloaded driver from HightPoint site 
http://www.highpoint-tech.com/ Linux 
driver
>But how can I install it?
>If anyone make this please give me a 
hand
>Thanx
>Bye


RE: [rtl] Discrete integration algorithms

2001-02-23 Thread Stephen D. Cohen

Ivan / David,

> If you rewrite it in the form y(t) = y(t-1) + x(t), it looks like
> a trivial IIR filter.

Of course you will probably want to add some gain terms so that you
get a dt in there somewhere.  Something like:

y(t) = a1 * y(t-1) + b0 * x(t)

You can then adjust the values of a1 and b0 as desired for the
appropriate time constant.  You can also extend this to include more y(t-n)
terms and to include x(t-n) terms.  Then you can implement whatever
combination of integrators and filters your little heart desires.

Regards,

Steve

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




[rtl] memory

2001-02-23 Thread Jeffrey Krasky



Is it possible to have a process address more than 
2^32 bytes of RAM (4GB) using kernel 2.2.14 or 2.2.15 or 2.2.16 on 
Pentiums?  Someone told me that since the Pentium is only a 32 bit 
processor, I can't address over 2^32 bytes.
 
 
 
Jeff


Re: [rtl] module versioning bug

2001-02-23 Thread Michael Barabanov

Frank,

The attached patch should fix the bug.
Thanks for the info,

Michael.

frank mori hess ([EMAIL PROTECTED]) wrote:
> 
> Hi,
> 
> Unless I'm doing something stupid, it seems that rtlinux 3.0 final does
> not define MODVERSIONS and include modversions.h when the kernel is
> compiled with module versioning on.  From the makefile, it looks like this
> only happens for i386 and the problem is with scripts/cflags.mk or
> scripts/Makefile?  It worked fine for me with pre9 but I noticed there
> have been some changes since then.
> 
> Frank


diff -Nru a/Makefile b/Makefile
--- a/Makefile  Fri Feb 23 23:19:43 2001
+++ b/Makefile  Fri Feb 23 23:19:43 2001
@@ -48,7 +48,7 @@
 CFLAGS += -DMODVERSIONS -include $(RTLINUX)/include/linux/modversions.h
 endif
 
-CFLAGS += -D__KERNEL__ -Wall -Wstrict-prototypes
+CFLAGS += -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes
 CC = ${CROSS_COMPILE}gcc
 endif
 
@@ -150,7 +150,7 @@
 
 MODULE_DIRS += regression
 
-CFLAGS += -D__RTL__ -DMODULE -D_LOOSE_KERNEL_NAMES
+CFLAGS += -D__RTL__ -D_LOOSE_KERNEL_NAMES
 
 CXXFLAGS := $(CFLAGS) -fno-exceptions -fno-rtti
 CFLAGS += -O2
diff -Nru a/scripts/cflags.mk b/scripts/cflags.mk
--- a/scripts/cflags.mk Fri Feb 23 23:19:43 2001
+++ b/scripts/cflags.mk Fri Feb 23 23:19:43 2001
@@ -2,7 +2,7 @@
 # Released under the terms of the GNU  General Public License Version 2
 
 alloverride:
-   @echo $(CC) $(CFLAGS) | sed 's/[^ ]* //; s/-I[^ ]* //; 
s/-fomit-frame-pointer//; s/-O2//'
+   @echo $(CC) $(CFLAGS) $(MODFLAGS) | sed 's/[^ ]* //; s/-I[^ ]* //; 
+s/-fomit-frame-pointer//; s/-O2//'
 
 include Makefile
 



Re: [rtl] Exception 0xe?

2001-02-23 Thread Michael Barabanov

Christopher D. Carothers ([EMAIL PROTECTED]) wrote:
>   Hi. Does anyone know what exception 0xe is?? rtl_debug is catching
> it. It comes about when I increase the amount of memory in my RT
> application. I am allocating an array that is 8 MB. This exception is not
> generated if I used say 1K of RAM for the array.  My system is a dual
> P-II, running 2.4.1 linux and rtlinux-3.0.
 
Exception 0xe is a memory fault. Could you please post the code that
generates it?

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




Re: [rtl] Discrete integration algorithms

2001-02-23 Thread Der Herr Hofrat

>   Hello all,
>   I want to add an integrator block to DSLib. Could anybody point me to
> documentation about discrete-time integration algorithms?. Has the
> simple integration x(t+1)=x(t)+dx*dt an special name or I should call it
> something like "SimpleIntegrator"?. Thank you.

 get the "numeric recipes" if you want standard methods that work and
 are well tested , a bad integrator in a controller can give you a
 hard to locate problems. 
 
 If you need good integer algorithms , look at TI's documentations for the
 TMS320C10/20/25/50 series of DSP's , very efficient and in generally well
 documented.

hofrat
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




Re: [rtl] Which kernel source to use?

2001-02-23 Thread Michael Barabanov

You can use either 2.2.18 (the stable branch of the Linux kernels),
or 2.4.0-test1, or 2.4.2. Among the last two, the most tested is
the former.

Michael.

Ivan Martinez ([EMAIL PROTECTED]) wrote:
>   Hello all,
>   I'm very confused about the many kernel sources for RTLinux v3.0. Which
> one is the most suitable for my biprocessor Pentium III 800 Mhz?. In
> case it is a patch, which kernel source should I use?. Thank you.
> -- 
> Ivan Martinez (Rodriguez)
> Bch in Software Engineering - MSc student
> "Got fabes?"
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl " | 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 " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




Re: [rtl] Patch installation problem

2001-02-23 Thread Michael Barabanov

The ikd patch is incompatible with the rtl patch. I suggest you download
rtlinux-3.0final and use the supplied rtlinux debugger.

Michael.

Anjali Nigale ([EMAIL PROTECTED]) wrote:
> Hello,
> 
> I have installed kernel 2.2.16 and applied ikd patch and rtl 2.2 patch. After 
>applying the ikd-2.2.16 patch the kernel compiled but after applying the rtl patch it 
>gave the error 'PROC_RTLINUX' undefined here in root.c
> Could anybody help ?
> 
> Thanks in advance,
> Anjali.
> 
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




Re: [rtl] Environnement Advice

2001-02-23 Thread Dmitri A. Sergatskov

On Fri, 23 Feb 2001, Frederic Cazenave wrote:

> Hi,
>
> I have installed on my machine RedHat 7.0 with all this problems...
> Now I compile with  gcc version 2.96 2731 (Red Hat Linux 7.0)
> (gcc-2.96-69)
> and glibc-devel-2.1.92-14.
  
Update to glibc-devel-2.2-12 (though it is probably unrelated to your problem).

>
> Now my problen concerning Root id has gone but I still get some problens
> :
>
> gcc -I../include -I/usr/src/linux/include -I/usr/src/rtlinux-3.0/include
 

Use kgcc instead. (CC=kgcc)

>
> Fred Cazenave
>

Regards,

Dmitri.


-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




RE: [rtl] isr priority level

2001-02-23 Thread Stefano Miotto



On Thu, 22 Feb 2001, Stephen D. Cohen wrote:

>   I can not think of any way that this can be done.  The ISRs in
> RTLinux run within the context of the process which was running when the
> interrupt came in.  Thus there is no way to be sure that the interrupt does
> not get pre-empted by the scheduler, unless you are certain that the
> interrupted task is the only computable process.
>
>   I am sure, however, that if you are trying to use pthread_suspend_np
> from an ISR, you are probably doing something the hard (very hard) way.  In
> general ISRs wake things up, not put them to sleep.
>
>   Perhaps if you provided some details of your application I/we could
> help you with your design.
>
> > With RTLinux 2.0 it seems I can't call pthread_kill...is it right ?
>
>   ?? 2.0 ??  First bit of advice, upgrade to 3.0 - many many many
> fixes.
>
>   Also, as an aside, when you do a pthread_wakeup_np from an ISR, you
> have to keep in mind that the ISR will probably be pre-empted immediately.
> Thus you should get all of your hardware tweaking, etc. that needs to be
> done in a highly-deterministic ISR sort of way done *first*, before calling
> the wakeup.  The system will go and serve the woken process and will return
> to call the IRET in the ISR when that process goes back to sleep.  This is,
> of course, assuming that you have all of your priorities set in a "normal"
> manner.
>
>   This sort of "odd" quasi-inverted mechanism was implemented to
> prevent having to call the scheduler (expensive) with every interrupt.  Thus
> systems with interrupt driven serial I/O, for example, can avoid a bazillion
> calls to the scheduler.

Stephen,
thanks for your two interventions on the subject, they helped me
understand that pthread_wakeup_np from an ISR is probably useful for my
case.
Without boring you with details, the structure of my ISR is:

I_handler{
/*Data acquisition*/
/*Computations*/
pthread_wakeup_np(my_thread);
}

While computations have to be done before the next interrupt, stuff done
in my_thread has not this restriction (In other words it'a sort of
background task).
If I understand what you wrote it's not a problem if my_thread doesn't
finish his work before the next interrupt. I_handler will execute anyway.
Is all this too contorted ? Does a simpler way exists ?
Thanks again,
Stefano.

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




[rtl] Environnement Advice

2001-02-23 Thread Frederic Cazenave

Hi,

I have installed on my machine RedHat 7.0 with all this problems...
Now I compile with  gcc version 2.96 2731 (Red Hat Linux 7.0)
(gcc-2.96-69)
and glibc-devel-2.1.92-14.

Now my problen concerning Root id has gone but I still get some problens
:

gcc -I../include -I/usr/src/linux/include -I/usr/src/rtlinux-3.0/include
-I/usr/src/rtlinux-3.0/include/compat -D__KERNEL__ -Wall
-Wstrict-prototypes -fno-strict-aliasing -pipe -fno-strength-reduce
-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 -g
-D__RTL__ -DMODULE -D_LOOSE_KERNEL_NAMES -O2 -I/usr/src/linux/include
-I/usr/src/rtlinux-3.0/include -I/usr/src/rtlinux-3.0/include/compat
-I/usr/src/rtlinux-3.0/include/posix -DDEBUG -c pii.c
In file included from /usr/src/linux/include/asm/system.h:184,
 from /usr/src/linux/include/linux/sched.h:16,
 from /usr/src/linux/include/linux/vmalloc.h:4,
 from /usr/src/linux/include/asm/io.h:101,
 from pii.c:7:
/usr/src/linux/include/asm/rtlinux_cli.h:24:13: warning: junk on line
after #undef
/usr/src/linux/include/asm/rtlinux_cli.h:25:13: warning: junk on line
after #undef
/usr/src/linux/include/asm/rtlinux_cli.h:26:20: warning: junk on line
after #undef
/usr/src/linux/include/asm/rtlinux_cli.h:27:23: warning: junk on line
after #undef
/usr/src/linux/include/asm/rtlinux_cli.h:33:17: warning: junk on line
after #undef
{standard input}: Assembler messages:
{standard input}:46: Warning: Ignoring changed section attributes for
.modinfo

Could you advice me a better environement 

Best regards

Fred Cazenave


--
 _
|  |
|   Frederic CAZENAVE  |
|_/\_  /^=  McGill Radar   |
| \_/\//Box 198, MacDonald College |
|   | /-\ | Ste Anne de Bellevue   |
|   ||   || Quebec, Canada   H9X 3V9   |
|   Tel (514) 398 7733 fax (514) 398 7755  |
|   mailto:[EMAIL PROTECTED]   |
|   http://www.mpl.orstom.fr/hydrologie/catch/ |
|__|



-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




RE: [rtl] isr priority level

2001-02-23 Thread Stephen D. Cohen

Stefano,

>   thanks for your two interventions on the subject, they helped me
> understand that pthread_wakeup_np from an ISR is probably 
> useful for my
> case.

It usually is.

> Without boring you with details, the structure of my ISR is:
> 
> I_handler{
>   /*Data acquisition*/
>   /*Computations*/
>   pthread_wakeup_np(my_thread);
> }
> 
> While computations have to be done before the next interrupt, 
> stuff done
> in my_thread has not this restriction (In other words it'a sort of
> background task).

Then, in fact, you have two threads.  I do not know how much work
your "computations" amount to, but in general I would code this something
like this:

I_handler {
/* Data Acquisition */
pthread_wakeup_np(fast_thread);
}

fast_thread {
/* Computations */
pthread_wakeup_np(my_thread);
pthread_suspend_np();
}

This gets you out of the interrupt context as quickly as possible to
give other devices a chance at the bus.  Of course, if you are so tight for
time that you *can not* tolerate *any* additional latency, then your way is
better.  If that is your current situation, however, I would *strongly*
council you to get a faster processor.

Be sure, however, that fast_thread has a higher priority than
my_thread.  Otherwise, in the cases where my_thread does not complete before
the next interrupt, it might execute before fast_thread.

> If I understand what you wrote it's not a problem if my_thread doesn't
> finish his work before the next interrupt. I_handler will 
> execute anyway.

Absolutely.  The pthread_wakeup_np will send the signal to the
thread (which will already be awake) and then call the scheduler, as normal.

> Is all this too contorted ? Does a simpler way exists ?

No, no it isn't.  Yes, yes it does - as I have suggested.

Regards,

Steve

P.S. Again - If I am giving any bad advice here, I expect to hear from the
Gurus.

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




Re: [rtl] Discrete integration algorithms

2001-02-23 Thread David Schleef

On Fri, Feb 23, 2001 at 12:41:29PM +0100, Ivan Martinez wrote:
>   Hello all,
>   I want to add an integrator block to DSLib. Could anybody point me to
> documentation about discrete-time integration algorithms?. Has the
> simple integration x(t+1)=x(t)+dx*dt an special name or I should call it
> something like "SimpleIntegrator"?. Thank you.


If you rewrite it in the form y(t) = y(t-1) + x(t), it looks like
a trivial IIR filter.




dave...

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




[rtl] Discrete integration algorithms

2001-02-23 Thread Ivan Martinez

Hello all,
I want to add an integrator block to DSLib. Could anybody point me to
documentation about discrete-time integration algorithms?. Has the
simple integration x(t+1)=x(t)+dx*dt an special name or I should call it
something like "SimpleIntegrator"?. Thank you.
-- 
Ivan Martinez (Rodriguez)
Bch in Software Engineering - MSc student
"Got fabes?"
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/




[rtl] Implementing circuit switch or router in rtlinux

2001-02-23 Thread Byung-Gon Chun

Hi,

I am looking for a way to implement a circuit switch
(with IP stack) or router in rtlinux without using
linux kernel.
Is there any implementation of such switch or router
in the rtlinux?
If it's not, what will be the good approach
to implement it (I want to think how I can implement this
in rtlinux)?

Thanks,
Byung-Gon Chun


_
Get your FREE download of MSN Explorer at http://explorer.msn.com

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl " | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/