Jeffrey wrote:
>
> 0. or i just remap PCI memory area at 0x40000000,size 4M, like following?:
> char * baseptr = ioremap(0x40000000, 4*1024*1024);
>
Yes, you need to remap, cause this will give you a virtual pointer in
your address space.
> 2. Can i access the memory simply via a pointer?
>
No. you will be able to do memory access only with the remapped address
(which is a pointer).
> 3. if i can access it via a pointer in driver module, can i access it from user
>space? or something just like following:
> mystruct *mystr;
> pointer_in_driver<---------------some remap procedure
>------------------->mystr;
>
I don't think so. I use to add a RT-FIFO handler which receive requests
from apps and process it in kernel space. But in your driver you can, of
course, remap the memory area with a struct pointer like that :
mystruct *mystr = (mystruct *) ioremap (0x40000000, 4*1024*1024);
and then mystr->data1 = xxx ;
If your memory space have configurations IOs, I suggest you to use
mystruct *mystr = (mystruct *) ioremap_nocache (0x40000000,
4*1024*1024);
Chris.
--
Kumsta Christophe
Machinery Agrobotic Fruit
<[EMAIL PROTECTED]>
Real-Time image processing developper
RT-Linux/RTAI ( Use the Source Luck !)
-- [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/