Keithley SourceMeter 2600 Series Reference Manual page 104

Table of Contents

Advertisement

2-52 TSP Programming Fundamentals
Memory considerations
(run-time environment)
The Series 2600 reserves 8MB of memory for dynamic run-time use. Of this
memory, the firmware requires up to approximately 5MB for normal system
operation. That leaves approximately 3MB of remaining memory that is available
to the user. These numbers for memory are affected by the number of scripts
loaded into non-volatile memory. The given memory values represent the memory
available when the factory script as well as the user script non-volatile memory
areas are filled to capacity.
The run-time environment and user-created reading buffers must fit within the
3MB of memory loosely reserved. It is possible for memory used for these
purposes to be greater than 3MB. When this occurs, there is a risk that memory
allocation errors will be generated and commands will not be executed as
expected.
If memory allocation errors are encountered, the state of the instrument cannot be
guaranteed. After attempting to download any data from the instrument, it is
recommended that power to the instrument be cycled to return it to a known state.
Cycling power will reset the run-time environment and all user-created reading
buffers. Any data not stored in the non-volatile reading buffers will be lost.
The amount of memory used by the run-time environment can be checked using
the gcinfo function. The first value returned by gcinfo is the number of kilobytes
of memory being used by the run-time environment. This does not include the
amount of memory used by reading buffers.
The amount of memory used by a reading buffer is approximately 15 bytes for
each entry requested. There is a slight amount of overhead for a reading buffer,
but this can be ignored for memory utilization calculations. For example, assume
two reading buffers were created. One of them was created to store up to 1,000
readings and the other 2,500. The memory reserved for the reading buffers is
calculated as follows:
(1000 x 15) + (2500 x 15) = 52, 500 bytes or 52.5 kilobytes.
Note that the non-volatile reading buffers do not consume memory needed by the
run-time environment. Do not include them in your memory consumption
calculations. Also, reading buffers for remote nodes consume memory on the
remote node, not the local node. You should be sure the total reading buffer
memory for any particular remote node does not exceed 3MB, but do not include
that amount from your local memory consumption calculations.
2600S-901-01 Rev. A / May 2006
Series 2600 System SourceMeters Reference Manual
Return to
Section 2 topics

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents