[rtl] sample floating point crash code ... any ideas?
Below is a pared down version of my rt_process.c. I've cut out all COMEDI data acquisition and FIFO stuff. I'm running rtlinux-2.3 on a single processor computer without SMP support. I use mbuff-0.7.0 for shared memory. If I compile it with: gcc -D INT_G -I/usr/src/rtl/linux/include -I/usr/src/rtlinux-2.3 -I/usr/src/rtlinux-2.3/include -I/usr/src/rtlinux-2.3/include/posix -Wall -Wstrict-prototypes -O2 -D__RTL__ -D__KERNEL__ -DMODULE -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 -g -c -o rt_process_tmp.o rt_process.c; ld -r -static rt_process_tmp.o -o rt_process.o -L/usr/lib -lm; rm -f rt_process_tmp.o my shared memory variable g is int, and the process runs fine. If I compile it with: gcc -D FLOAT_G -I/usr/src/rtl/linux/include -I/usr/src/rtlinux-2.3 -I/usr/src/rtlinux-2.3/include -I/usr/src/rtlinux-2.3/include/posix -Wall -Wstrict-prototypes -O2 -D__RTL__ -D__KERNEL__ -DMODULE -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 -g -c -o rt_process_tmp.o rt_process.c; ld -r -static rt_process_tmp.o -o rt_process.o -L/usr/lib -lm; rm -f rt_process_tmp.o my shared memory variable g is float, and my computer occasionally, but not always, crashes at the first occurence of: sh_mem->g/=2; Note that I think (although it's difficult to know for sure with this sort of "random" phenomenon) that if it runs fine once, it seems that it will always run fine unless I reboot the computer. After rebooting, it may run fine again. After rebooting again, it may run fine again, etc. But, sooner or later, I'll reboot, insmod rt_process, and my system crashes. The code is at the end of this message, preceded by some possibly useful module and dmesg stuff. Any ideas? Thanks, Dave --- This is what modules I have running when it works - cat /proc/modules: rt_process 1068 0 (unused) mbuff 6084 1 [rt_process] rtl_fifo7892 0 (unused) rtl_posixio 6716 0 [rtl_fifo] rtl_sched 5776 0 [rt_process] kcomedilib 3136 0 (unused) ni_atmio 14408 0 comedi 14028 0 [kcomedilib ni_atmio] rtl_time 11036 0 [rt_process rtl_posixio rtl_sched kcomedilib ni_atmio comedi] This is dmesg after a brief successful run (terminated by rmmod): dmesg mbuff: kernel shared memory driver v0.7.0 for Linux 2.2.14-rtl2.3 mbuff: (C) Tomasz Motylewski et al., GPL mbuff: registered as MISC device minor 254 allocated 1048576 bytes at cc849000 for cb2a3a20(default) djc_float_crasher: requesting allocation of 8 bytes for sh_mem from mbuff: allocated 4096 bytes at cc94c000 for cb2a3c60(djc_float_crasher) djc_float_crasher: acquisition started at 1000 Hz (status 0) djc_float_crasher g=5000 djc_float_crasher g=2500 djc_float_crasher g=1250 djc_float_crasher g=625 deallocating kernel buffer at cc94c000(djc_float_crasher), count=0. djc_float_crasher: deleted RT task (status 0) after 5461 cycles (~5 seconds). unloading mbuff deallocating kernel buffer at cc849000(default), count=0. mbuff device deregistered - / rt_process.c **/ #include #include #include #include #include #include #include #include #include #include //necessary for floating point ops? #include //necessary for floating point ops? #include "/usr/src/rtl/drivers/mbuff/mbuff.h" //mbuff: shared memory dyn. alloc #define RT_HZ 1000//rt_process loop frequency #define RT_PROCESS_ID "djc_float_crasher" //text ID for this process int init_module(void);//set up RT stuff void cleanup_module(void);//clean up RT stuff void init_shared_mem(void); //set up RT shared memory pthread_t daq_task; //main RT task typedef struct { int scan_index; //index holding current analog input scan number #ifdef FLOAT_G float g;//g feedback proportionality control parameter #endif #ifdef INT_G int g; //g feedback proportionality control parameter #endif } SharedMemStruct; volatile SharedMemStruct *sh_mem; //define mbuff shared memory void *daq(void *arg) { /* this task reads and writes data to a DAQ board */ while (1) /* must loop, b/c it is a periodic task */ { sh_mem->scan_index++; //increment scan_index counter /* normally my COMEDI analog input and output goes here; instead here's a dumb computation*/ if ((sh_mem->scan_index>2000)&&(!(sh_mem->scan_index%200))){ sh_mem->g/=2; rtl_printf(RT_PROCESS_ID " g=%d\n",(int)sh_mem->g); } pthread_wait_np(); //wait until beginning of next period } } int init_module(void) { int ret; //return value from function calls pthread_attr_t attr; struct sched_param sched_param; init_shared_mem();
Re: [rtl] SMP error
Victor, I double-checked the patching - there are no ".rej" files. I have used the smp_patch2 that you've sent me (diff shows it is identical to test_tlb_fix_patch.2.1.14.B patch on ftp.fsmlabs.com/pub/rtlinux/v2). Thanks, Sergey. - Original Message - From: <[EMAIL PROTECTED]> To: Sergey Osechinskiy <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Thursday, April 13, 2000 2:36 PM Subject: Re: [rtl] SMP error > Thissounds like a patch that did not take: try find . '*.rej' > in the linux directory. > -- [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/
No Subject
Hello from a RTL newbie. Could anyone tell me where to find good example code using the onshot mode in RTL? Thank you __ Get Your Private, Free Email at http://www.hotmail.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/
Re: [rtl] SMP error
Thissounds like a patch that did not take: try find . '*.rej' in the linux directory. On Thu, Apr 13, 2000 at 02:02:23PM -0700, Sergey Osechinskiy wrote: > Hello all, > > I have tried the second patch (tlb2), got the same result - page fault "Unable to >handle kernel NULL pointer dereference at ..." after rtl_init() ("RTL started") is >called in start_kernel() and kernel init thread is created. And few minutes later >"stuck on TLB IPI wait (CPU#0)" messages appear. > I am getting a similar result with rtai-1.2a/linux-2.2.14. Page fault occurs >whenever rt_mount_rtai() is called in init_module(). Interesting detail, few minutes >later the internal speaker turns ON and stays ON till hard reboot. The system hangs >when INIT is sending processes the TERM signal (halt, reboot). > > (See attached file with page fault details for rtlinux and rtai). > > So, the problem is really not in TLB IPI, but rather in page fault that occurs (why >???). > > I think, we have some profound problem with the hardware. My system has an 82440FX >(Natoma) chipset, PIIX3 ISA bridge and IDE controller, Intel 82093AA IOAPIC. The >configuration is quite different from the default configuration in Intel MP V1.4 spec: > APIC base at 0xFEC08000 (default 0xFEE0) > IOAPIC base at 0xFEC0 (same as default) > 24 registers in IOAPIC (default is 16) > Local APIC ID: 0 (CPU #0) > Local APIC ID: 4 (CPU #4, default 1 ???) > IOAPIC ID: 13 > Local APIC and IOAPIC version 17 > Virtual Wire compatibility mode is implemented > > Linux is getting all SMP information from BIOS MPtable Ok and mapping local APICs >and IOAPIC allright. > > I was playing with different configuration adjustments (streamlined linux kernel, >disabled fault resilent boot, redirect PCI interrupts to IOAPIC enabled/disabled, >MTRR patch, fix for PCI passive release problem in 440FX, double-checking the >installation etc.), they all seem to be irrelevant. > > Rtai-1.2 UP works fine on my system. > > I keep digging, for good thing this problem got me interested to learn more about >SMP. > > Sergey. > > > - Original Message - > From: <[EMAIL PROTECTED]> > To: Surya <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > Sent: Tuesday, April 11, 2000 4:54 PM > Subject: Re: [rtl] SMP error > > > > > > Please try the patch > > > > pub/rtlinux/v2/test_tlb_fix_patch.2.1.14.B > > > > And tell me how it works. > > > > > > Apr 10 09:29:18 dualpro kernel: RTL started > Apr 10 09:29:18 dualpro kernel: Unable to handle kernel NULL pointer dereference at >virtual address > Apr 10 09:29:18 dualpro kernel: current->tss.cr3 = 00101000, %cr3 = 00101000 > Apr 10 09:29:18 dualpro kernel: *pde = > Apr 10 09:29:18 dualpro kernel: Oops: 0002 > Apr 10 09:29:18 dualpro kernel: CPU:4 > Apr 10 09:29:18 dualpro kernel: EIP:0010:[<>] > Apr 10 09:29:18 dualpro kernel: EFLAGS: 00010087 > Apr 10 09:29:18 dualpro kernel: eax: ebx: 0004 ecx: c7dfa000 > edx: 0018 > Apr 10 09:29:18 dualpro kernel: esi: 0041 edi: c7dfbf7c ebp: c7dfbf74 > esp: c7dfbf5c > Apr 10 09:29:18 dualpro kernel: ds: 0018 es: 0018 ss: 0018 > Apr 10 09:29:18 dualpro kernel: Process swapper (pid: 0, process nr: 1, >stackpage=c7dfb000) > Apr 10 09:29:18 dualpro kernel: Stack: c7dfa000 c7dfa000 c01fe540 0041 c7dfbf90 > c010acfc > Apr 10 09:29:18 dualpro kernel:c7dfa000 c7dfa000 0002 c7dfa000 c01fe540 > 0200 0018 > Apr 10 09:29:18 dualpro kernel:0018 0041 c01079a5 0010 0246 > > Apr 10 09:29:18 dualpro kernel: Call Trace: [common_smp_interrupt+24/48] >[cpu_idle+61/80] [do_IRQ+69/72] [rtl_intercept+116/424] [common_interrupt+24/48] > Apr 10 09:29:18 dualpro kernel: Code: <1>Unable to handle kernel NULL pointer >dereference at virtual address > Apr 10 09:29:18 dualpro kernel: current->tss.cr3 = 00101000, %cr3 = 00101000 > Apr 10 09:29:18 dualpro kernel: *pde = > Apr 10 09:29:18 dualpro kernel: PCI: PCI BIOS revision 2.10 entry at 0xfd8b1 > > == > * RTAI NEWLY MOUNTED (MOUNT COUNT 1) ** > > Unable to handle kernel NULL pointer dereference at virtual address > current->tss.cr3 = 05ab7000, %cr3 = 05ab7000 > *pde = > Oops: 0002 > CPU:0 > EIP:0010:[] > EFLAGS: 00010046 > eax: ebx: c79a4000 ecx: edx: > esi: edi: ebp: c79a5f50 esp: c79a5eec > ds: 0018 es: 0018 ss: 0018 > Process klogd (pid: 337, process nr: 12, stackpage=c79a5000) > Stack: c79a4000 c79a5f50 c8015090 c01e2000 c79a5f50 >c01e0018 c01e0018 c01a5407 0010 0202 c79a4000 c79a4000 >c79a5f84 0e32102c c7a1e000 c7c37360 0037 c79a4000 > Call Trace: [] [] [] [] [] >[] > Code: f0 0f ab 02 19 db 8
[rtl] [Fwd: [uCsimm] another note for RT-uClinux]
Just another x-posting that might be interessting for some rt-people ... Hi, all i want to say that you need not feel unhappy after read my note about 130 usec latency. Because it is only for timer task. If you use rt_request_IRQ (like sampler.c) for hardware interrupt then time for rtl_scheduler does not need (priority is resolved by hardware) So for h/w interrupt latency might be near 50 usec. And for timer task: real world concern is not latency. If 130 usec latency is constant, every timer event would be delayed 130 usec. therefore in view of outside device there is no drift. External device could not know that every timer event is delayed 130 usec. They just see constant interval timer event. In my guess and with experiment, 130 usec latency is stable, saying +/- 50 usec? RT-uClinux could be said that (just my opinion) 1. time drift is bellow 50 usec 2. interrupt latency is about 50 usec. 3. lovely linux for non rt task. and this might be comparable with commercial RTOS's. But as you know, it need more experiment. please do not trust what i said, trust yourself and your own experimental result. Thanks. kwonsk. This message resent by the [EMAIL PROTECTED] list server http://www.uClinux.com/
[rtl] [Fwd: [uCsimm] RT for uClinux]
Kwonsk allways forgets to broadcast his improvements widely ... Hi, all. Improving RTsupport for uClinux (EZ328) was done. internal timer handling code was changed. Instead of using restarting mode, new code is using free run mode. this change removed timer overrun (occur when TCMP is smaller than interrupt latency). It's timing result is very impressive to me. Toggling example (same code as previous release) shows almost no drift. It might be bellow 50 usec. I could not say exact timing because of my poor analog oscilloscope. I'm preparing diff for you, and you could get it soon. Some measurement : 1) from h/w interrupt to rt_oneshot_timer_irq = ~50 usec 2) time for rtl_schduler (priority resolver) = ~80 usec therefore time from actual h/w interrupt signal to corresponding rt_task is about 130 usec. and this time is almost constant (tested with memory logging free-running TCN value and scope). This latency could be reduced with asm code but it sacrifies portability and easy maintenance. Do not request too much for this little lovely EZ328 please. :-) Q) why need about 130 usec? A) RTIME calc needs more instructions. Ping flood test (network load) did not change this value significantly. Thanks. kwonsk. This message resent by the [EMAIL PROTECTED] list server http://www.uClinux.com/
Re: [rtl] SMP error
Hello all, I have tried the second patch (tlb2), got the same result - page fault "Unable to handle kernel NULL pointer dereference at ..." after rtl_init() ("RTL started") is called in start_kernel() and kernel init thread is created. And few minutes later "stuck on TLB IPI wait (CPU#0)" messages appear. I am getting a similar result with rtai-1.2a/linux-2.2.14. Page fault occurs whenever rt_mount_rtai() is called in init_module(). Interesting detail, few minutes later the internal speaker turns ON and stays ON till hard reboot. The system hangs when INIT is sending processes the TERM signal (halt, reboot). (See attached file with page fault details for rtlinux and rtai). So, the problem is really not in TLB IPI, but rather in page fault that occurs (why ???). I think, we have some profound problem with the hardware. My system has an 82440FX (Natoma) chipset, PIIX3 ISA bridge and IDE controller, Intel 82093AA IOAPIC. The configuration is quite different from the default configuration in Intel MP V1.4 spec: APIC base at 0xFEC08000 (default 0xFEE0) IOAPIC base at 0xFEC0 (same as default) 24 registers in IOAPIC (default is 16) Local APIC ID: 0 (CPU #0) Local APIC ID: 4 (CPU #4, default 1 ???) IOAPIC ID: 13 Local APIC and IOAPIC version 17 Virtual Wire compatibility mode is implemented Linux is getting all SMP information from BIOS MPtable Ok and mapping local APICs and IOAPIC allright. I was playing with different configuration adjustments (streamlined linux kernel, disabled fault resilent boot, redirect PCI interrupts to IOAPIC enabled/disabled, MTRR patch, fix for PCI passive release problem in 440FX, double-checking the installation etc.), they all seem to be irrelevant. Rtai-1.2 UP works fine on my system. I keep digging, for good thing this problem got me interested to learn more about SMP. Sergey. - Original Message - From: <[EMAIL PROTECTED]> To: Surya <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Tuesday, April 11, 2000 4:54 PM Subject: Re: [rtl] SMP error > > Please try the patch > > pub/rtlinux/v2/test_tlb_fix_patch.2.1.14.B > > And tell me how it works. > > Apr 10 09:29:18 dualpro kernel: RTL started Apr 10 09:29:18 dualpro kernel: Unable to handle kernel NULL pointer dereference at virtual address Apr 10 09:29:18 dualpro kernel: current->tss.cr3 = 00101000, %cr3 = 00101000 Apr 10 09:29:18 dualpro kernel: *pde = Apr 10 09:29:18 dualpro kernel: Oops: 0002 Apr 10 09:29:18 dualpro kernel: CPU:4 Apr 10 09:29:18 dualpro kernel: EIP:0010:[<>] Apr 10 09:29:18 dualpro kernel: EFLAGS: 00010087 Apr 10 09:29:18 dualpro kernel: eax: ebx: 0004 ecx: c7dfa000 edx: 0018 Apr 10 09:29:18 dualpro kernel: esi: 0041 edi: c7dfbf7c ebp: c7dfbf74 esp: c7dfbf5c Apr 10 09:29:18 dualpro kernel: ds: 0018 es: 0018 ss: 0018 Apr 10 09:29:18 dualpro kernel: Process swapper (pid: 0, process nr: 1, stackpage=c7dfb000) Apr 10 09:29:18 dualpro kernel: Stack: c7dfa000 c7dfa000 c01fe540 0041 c7dfbf90 c010acfc Apr 10 09:29:18 dualpro kernel:c7dfa000 c7dfa000 0002 c7dfa000 c01fe540 0200 0018 Apr 10 09:29:18 dualpro kernel:0018 0041 c01079a5 0010 0246 Apr 10 09:29:18 dualpro kernel: Call Trace: [common_smp_interrupt+24/48] [cpu_idle+61/80] [do_IRQ+69/72] [rtl_intercept+116/424] [common_interrupt+24/48] Apr 10 09:29:18 dualpro kernel: Code: <1>Unable to handle kernel NULL pointer dereference at virtual address Apr 10 09:29:18 dualpro kernel: current->tss.cr3 = 00101000, %cr3 = 00101000 Apr 10 09:29:18 dualpro kernel: *pde = Apr 10 09:29:18 dualpro kernel: PCI: PCI BIOS revision 2.10 entry at 0xfd8b1 == * RTAI NEWLY MOUNTED (MOUNT COUNT 1) ** Unable to handle kernel NULL pointer dereference at virtual address current->tss.cr3 = 05ab7000, %cr3 = 05ab7000 *pde = Oops: 0002 CPU:0 EIP:0010:[] EFLAGS: 00010046 eax: ebx: c79a4000 ecx: edx: esi: edi: ebp: c79a5f50 esp: c79a5eec ds: 0018 es: 0018 ss: 0018 Process klogd (pid: 337, process nr: 12, stackpage=c79a5000) Stack: c79a4000 c79a5f50 c8015090 c01e2000 c79a5f50 c01e0018 c01e0018 c01a5407 0010 0202 c79a4000 c79a4000 c79a5f84 0e32102c c7a1e000 c7c37360 0037 c79a4000 Call Trace: [] [] [] [] [] [] Code: f0 0f ab 02 19 db 85 db 75 f6 8b a9 20 ac 01 c8 85 ed 74 3c
RE: [rtl] protect
Where can I find the docs for mutex in RTLinux? > -Original Message- > From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]] > Sent: Thursday, April 13, 2000 8:10 AM > To: Stuart Hughes > Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Re: [rtl] protect > > On Thu, Apr 13, 2000 at 10:54:33AM +0100, Stuart Hughes wrote: > > You need to use a mutex. Under RTAI you can use the conventional > > pthread_mutex_lock and pthread_mutex_unlock. As always, be very careful > > with your design as mutex_lock, could easily be mutex_deadlock :-) > > pthread_mutex is in RTLinux. > > -- > - > Victor Yodaiken > FSMLabs: www.fsmlabs.com www.rtlinux.com > FSMLabs is a servicemark and a service of > VJY Associates L.L.C, New Mexico. > > -- [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/
[rtl] Re: No global variables?
Ivan Martinez wrote: > > Hi, > My system crashes when a real time thread tries to access a global > variable defined in its module. Is not that operation possible?. Thank > you. Is not possible if the global variable is float and I forgot to call pthread_setfp_np. Solved, thank you. > -- > Ivan Martinez (Rodriguez) > Bch in Computer Science - MSc student > http://www.student.dtu.dk/~u990873 > "Got fabes?" -- Ivan Martinez (Rodriguez) Bch in Computer Science - MSc student http://www.student.dtu.dk/~u990873 "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] More problems with floating point operations
Hi, Two days ago, we have send you a mail ([rtl] floating point) where we explain a problem with fp. We have expect correcting the problem by changing the rtf. After some reboots, we still run in the same problem. When we use fp, we freeze/reboot the computer... its depends of the operations, the order of the operations and the number of operations. We have tested the program on two differents computer, a P100 and a P200 running rtl2 and linux 2.2.13. The code have been send on this mailing list some days ago. If you want a copy, I can make reply on request. Regards, Stephane and Sylvain -- [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] No global variables?
Ivan Martinez wrote: > > Hi, > My system crashes when a real time thread tries to access a global > variable defined in its module. Is not that operation possible?. Thank > you. > -- Hi Ivan, That should be okay. Have you got more information. Regards, Stuart -- [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] manual
-- Teepack Spezialmaschinen GmbH & Co. KG Duesseldorfer Strasse 73 | Telephone +49-(0)-2132-976-0 D-40667 Meerbusch | Facsimile +49-(0)-2132-976-100 Germany | Internet: http://www.teepack.com Hello I want to study real time programming with RTLinux V2.0. In the manuals from the RTL installation, I missing description for some functions (pthread_create, rtl_printf and other). Where I can found more information about the function. Many thanks Andreas -- [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] Semaphore source
Where can I get the latest and greatest code for Semaphores. I have downloaded the code from rtlinux website, but the link to the authors site is broken. I noticed that there was bug reports to the mailing list archive, but the date on the archive on the RTLinux website predates these bug reports and fix confirmations. I am looking to get the semaphores to work in RTLinux 2.2. Thanks in advance. -- [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] No global variables?
Hi, My system crashes when a real time thread tries to access a global variable defined in its module. Is not that operation possible?. Thank you. -- Ivan Martinez (Rodriguez) Bch in Computer Science - MSc student http://www.student.dtu.dk/~u990873 "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] Qt/Embedded
Hi, Some people on this mailing list can be interested by this web page. It is new Qt, a GUI application framework directly targeted at embedded Linux systems. http://www.trolltech.com/announce/embeddedqt.html Regards, Stephane -- [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] protect
On Thu, Apr 13, 2000 at 10:54:33AM +0100, Stuart Hughes wrote: > You need to use a mutex. Under RTAI you can use the conventional > pthread_mutex_lock and pthread_mutex_unlock. As always, be very careful > with your design as mutex_lock, could easily be mutex_deadlock :-) pthread_mutex is in RTLinux. -- - Victor Yodaiken FSMLabs: www.fsmlabs.com www.rtlinux.com FSMLabs is a servicemark and a service of VJY Associates L.L.C, New Mexico. -- [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] protect
[EMAIL PROTECTED] wrote: > > How can i protect some resource from accessed by two thread in the same time. > what is the counterpart function as waitforsingleobject() under windows. a short > pieces of codes will be appreciated > > thanks a lot You need to use a mutex. Under RTAI you can use the conventional pthread_mutex_lock and pthread_mutex_unlock. As always, be very careful with your design as mutex_lock, could easily be mutex_deadlock :-) Regards, Stuart -- [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] long arithmetic
Dmitry Kargapolov wrote: > > Hello. > When I successfully compile rt-module with lines: > > long long a, b, c; > ... > a = b / c; > > I have message about undefined symbol __divdi3 during insmod > executing. > Can I use such long dividing within rt-modules? > PLatform was i386 (without i387). > Thanks. Hi Dmirty, You need to statically link with libgcc.a (-lgcc), on my machine it can be found at /usr/lib/gcc-lib/i386-glibc20-linux/egcs-2.90.29/ If you have a different compiler version, you will need to alter the path accordingly Regards, Stuart -- [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/