joseph
I would use shared memory to save the values in.
Create two buffers donnee_1 and donnee_2
fill the first one up and then use a fifo to tell the user space task
that
the data has been read.
Just send a single byte through the fifo.
This byte could tell the user task which buffer has been used to
put the data in.
While the user space task is reading the data from donnee_1 the realtime
task can put data into donnee_2.
TO answer you specific question here ..
How did you create the buffer.
IF you did a vfree on a buffer you did not specifically allocate this
would
explain the error.
If you just declared the bufer to the compiler do not try to free it.
Regards
Phil Wilshire
>
> hello
> i try to read data on a high speed serial port (moxa card at
> 500k bauds)
> to do that i only use the outb and inb functions in my
> module
> i store 732 values in a table (unsigned char donnee[732])
> when i have this 732 values i make a rtf_put() to be able to
> read this data in my main program
> in my cleanup() i make a vfree(donnee)
>
> when my program try to stop the task i have this message and
> there is a segmentation error and i can't rmmod my module
>
> Unable to handle kernel paging request at virtual address
> 8b20c483
> current->tss.cr3 = 0de17000, %cr3 = 0de17000
> *pde = 00000000
> Oops: 0000
> CPU: 0
> EIP: 0010:[<c01157b6>]
> EFLAGS: 00010246
> eax: 00000000 ebx: fffffffe ecx: ffffffff edx:
> ffffffff
> esi: d082f83c edi: 8b20c483 ebp: 00000000 esp:
> cdfa5f5c
> ds: 0018 es: 0018 ss: 0018
> Process lsmod (pid: 696, process nr: 40, stackpage=cdfa5000)
> Stack: bffffa10 cdfa5fb0 fffffffe d082c000 8b20c483 00000000
> cc359000 cc359000
> 00000200 c0115bd1 d082c000 0804a5c8 00000400 bffffa10
> cdfa4000 00000400
> bffffa10 0804a5c8 cdfa4000 00000010 40014000 cc359000
> cdd4e000 c022e800
> Call Trace: [<d082c000>] [<c0115bd1>] [<d082c000>]
> [<c0107aa8>]
> Code: f2 ae f7 d1 49 8d 59 01 3b 5c 24 38 77 48 83 c4 fc 53
> 8b 44
>
> i think Code are the data i want to read but that's the only
> thing i understand
>
> thank you for your help
> ______________________________________________________
> Boîte aux lettres - Caramail - http://www.caramail.com
-- [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/