Question on using mmap to access physical memory
I am pretty new to linux and i have a few questions about an approach for an NVRAM driver.
We have 4 segments of memory that are attached to our processor via TI's EMIF (external memory interface).
I think I know at high level what needs to be done, but am having trouble with the details.
One of the areas is for an area of NonVolatile RAM. Once this is mapped you can read and write to the memory without any special needs. The chip handles the saving of data.
So, what I think i would like to is write a driver to map that area of memory which starts at 0x06000000 and is 32M in length and then have my application use mmap() to access the memory. The actual amount of memory on this device is much smaller than the 32M, but that is the size of the EMIF partition.
I found an example driver that implements something similar using a char driver, but it allocates new memory in the kernel and I don't quite get how to do this with existing memory.
1) Do i need to be using the MTD subsystem to do this?
2) How do you map the physical memory to an area that can be accessed by mmap?
3) Does this approach sound reasonable?
Thanks In Advance.