[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-rt
Subject: [rtl] Make above-linux memory LARGE and NON-CACHEABLE
From: hathaway <hathaway () public ! wh ! hb ! cn>
Date: 2002-07-24 8:01:00
[Download RAW message or body]
Hi Mr Wright,
I'm designing a data acquisition system based on ZFx86(a 486 based SoC) and \
RT-Linux. I use an FPGA to read data directly from ADCs and transfer them to main \
momory(as PCI bus master). The FPGA can only deal with physical address space \
easily, so I choose the above-linux RAM for buffer. But I have some questions about \
this way. 1. I need a large buffer.
My system has 128MB RAM in total and I leave only 16MB for linux by writing \
"append="mem=16m"" in lilo.conf and getting a virtual address point by mmap(). From \
my real-time program, it seems I can read from and write to the entire \
buffer(128MB-16MB) properly. But an article from Frederick M. Proctor \
(http://www.isd.mel.nist.gov/projects/emc/emcsoft.html) says 'The size of the shared \
memory pool must be less than the pagesize declared in /usr/include/asm/param.h. In \
Intel Pentium class machine and above, the page size is 4MB. On earlier machines, the \
page size is 1MB'. What will happen if my buffer size larger than 4MB or 1MB? Maybe \
there will be long delay when crossing page boundary, which is dangerous to a \
real-time system. 2. The buffer should be non-cacheable.
The FPGA refresh the buffer automatically, but the real-time program must always get \
newest data from the buffer. So the buffer should be non-cacheable, or the CPU will \
get old data if cache hit. Do you have any suggestion on this? My system seems OK, \
but I'm NOT sure whether I will meet trouble in the future. 3. How to make PCI \
faster? Your system can achieve 89MB/s, but mine is much slower. The FPGA is the \
only PCI peripheral in my system, but by an oscilloscope, I find the PCI bursting \
cycles always broken, the request-and-grant pairs cost much time. Can you give me \
some advice here? Thank you.
Best regards
Jiang Wanli
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.org OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.org
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic