uCLinux, memory mapping large files


I was wondering whether anyone out there would be able to provide me
with some information about memory mapping in uCLinux. I have done a
fair bit of searching for information and so far i understand that
there is some support for mmap() in the uCLinux kernel however i have
so far been unable to get it to work.

I have an application which was written using mmap() to map a large
data file (120MB) into virtual memory. The application was initially
written with desktop/server linux in mind and therefore the assumption
that there would be MMU support on the platform.

I am currently trying to port this application to an embedded platform
which currently runs uCLinux. The hardware in question is the KB9202B
from KwikByte and consists of an Arm core with 64MB SDRAM. It also has
a SD/MMC card reader which is where i would like to store the data
file. The application only needs read access to the data.

I have read (http://www.linuxjournal.com/article/7221) that memory
mapping is possible if the filesystem from which the mapped file comes
from is ROMFS and the mapping is readonly. If this is the case, would
it be feasible to store my data file on an SD card using ROMFS and
memory map this into the address space?


Nick Vaughan.