Xtium2-CLHS PX8 User's Manual
Installing Xtium2-CLHS PX8
•
23
Configuring Sapera
Viewing Installed Sapera Servers
The Sapera configuration program (Start • Programs • Teledyne DALSA • Sapera LT •
Sapera Configuration) allows the user to see all available Sapera servers for the installed
Sapera-compatible boards. The System entry represents the system server. It corresponds to the
host machine (your computer) and is the only server that should always be present.
Increasing Contiguous Memory for Sapera Resources
The Contiguous Memory section lets the user specify the total amount of contiguous memory (a
block of physical memory, occupying consecutive addresses) reserved for the resources needed for
Sapera buffers allocation and Sapera messaging. For both items, the Requested value dialog
box shows the ‘CorMem’ driver default memory setting while the Allocated value displays the
amount of contiguous memory allocated successfully. The default values will generally satisfy the
needs of most applications.
The Sapera buffers value determines the total amount of contiguous memory reserved at boot
time for the allocation of dynamic resources used for frame buffer management such as scatter-
gather list, DMA descriptor tables plus other kernel needs. Adjust this value higher if your
application generates any out-of-memory error while allocating host frame buffers or when
connecting the buffers via a transfer object.
You can approximate the worst-case scenario amount of contiguous memory required as follows:
•
Calculate the total amount of host memory used for one frame buffer
[number of pixels per line * number of lines * (2 if buffer is 10/12/14 or 16 bits)]
•
Provide 200 bytes per frame buffer for Sapera buffer resources.
•
Provide 64 bytes per frame buffer for metadata. Memory for this data is reserved in chunks
of 64kB blocks.
•
Provide 48 bytes per frame buffer for buffer management. Memory for this data is reserved
in chunks of 64kB blocks.
For each frame buffer DMA table, allocate 24 bytes + 8 bytes for each 4kB of buffer. For
example, for a 120x50x8 image:
120 * 50 = 6000 = 1.46 4kB blocks -> roundup to 2 4kB blocks
Therefore 24 bytes + (2 * 8 bytes) = 40 bytes for DMA tables per frame buffer.
Memory for this data is reserved in chunks of 64kB blocks.
If vertical flipping is enabled, one must add 16 bytes per line per buffer. For example, for an
image 4080x3072 image:
16 bytes * 3072 = 49152 bytes
Note that Sapera LT reserves the 1
st
5MB for its own resources, which includes the 200
bytes per frame buffer mentioned above.