enum Server.SkelCachingPolicy |
|
Caching behavior that all skeletons will use
XDCscript usage |
meta-domain |
values of type Server.SkelCachingPolicy
const Server.LOCALBUFFERINVWB;
// Invalidate before process, writeback after
const Server.WBINVALL;
// Writeback invalidate all after process
const Server.NONE;
// No cache management of buffers
struct Server.AlgDesc |
|
Algorithm descriptor
XDCscript usage |
meta-domain |
var obj = new Server.AlgDesc;
obj.name = String ...
// alg nick-name
// alg that implements skeletons
// thread properties for each alg instance
obj.groupId = Int ...
// group id of the algorithm
FIELDS
name
This string specifies the "local" name used by the
server to generate instance names
mod
This field is a module reference that identifies the
actual module implementing the algorithm to instantiate.
This module reference is often acquired by a call to
xdc.useModule(); like this:
modReference = xdc.useModule('package.Module');
threadAttrs
This structure defines attributes of the "server"
thread that will handle instance processing
requests; e.g., stack size and priority.
- threadAttrs.stackSize: This
field is optional when configuring
an algorithm in a server, though strongly
recommended. Stack overrun is a very common
cause of system instability. If it's not supplied
by the server integrator's script, the stack size
returned by the codec's
ICodec.getStackSize() method will be
added to the value of
stackSizePad.
- threadAttrs.stackMemId: This
field is required when configuring
an algorithm in a server.
- threadAttrs.priority: This
field is optional (though strongly recommended)
when configuring an algorithm in a server.
If it's not supplied by the server integrator's
script, a default priority will be assigned, and a
remark will be printed to the console during server
configuration to indicate which priority was
assigned to the algorithm. Note that this priority
can be overridden at runtime by the application;
see the various *_create() VISA APIs for more
details.
groupId
This id specifies which resource sharing group
this codec will be placed into. The system
integrator must ensure that codecs within the same
group can not pre-empt each other.
A common technique for assigning groupId's in
systems where same-priority tasks don't pre-empt
each other (e.g. DSP/BIOS) is to use the task priority.
Some systems do not allow sharing resources. In
those systems, this parameter is ignored.
Note that this parameter is ignored if "local" is not
TRUE.
DETAILS
This structure describes the execution context provided by
the server for an algorithm module.
struct Server.ThreadAttrs |
|
Thread attributes
XDCscript usage |
meta-domain |
var obj = new Server.ThreadAttrs;
obj.stackSize = Int ...
// minimum stack size required for this thread
obj.stackMemId = Int ...
// MEM seg id for the thread's stack
obj.priority = Int ...
// priority of the thread
DETAILS
This structure defines the thread attrubutes for any threads created
by the RMS thread; see Server.threadAttrs.
config Server.MAXPRI // module-wide |
|
Maximum priority that a thread can assume
XDCscript usage |
meta-domain |
const Server.MAXPRI = Int 15;
DETAILS
All threads must have a priority value greater than or equal to
Server.MINPRI and less than or equal to
Server.MAXPRI.
config Server.MINPRI // module-wide |
|
Minimum priority that a thread can assume
XDCscript usage |
meta-domain |
const Server.MINPRI = Int 1;
DETAILS
All threads must have a priority value greater than or equal to
Server.MINPRI and less than or equal to
Server.MAXPRI.
config Server.algs // module-wide |
|
Table of all algorithms supported by this DSP Server
XDCscript usage |
meta-domain |
DETAILS
See
AlgDesc documentation for more details.
config Server.autoGenScratchSizeArrays // module-wide |
|
Enable automatic generation of DSKT2
scratch group size arrays
XDCscript usage |
meta-domain |
Server.autoGenScratchSizeArrays = Bool 0;
DETAILS
This configuration flag enables/disables automatic generation of
the
ti.sdo.fc.dskt2.DSKT2.DARAM_SCRATCH_SIZES and
ti.sdo.fc.dskt2.DSKT2.SARAM_SCRATCH_SIZES scratch group sizes
arrays.
When enabled (1), the arrays will be automatically generated during
Server configuration, based upon the
ICodec.getDaramScratchSize() and
ICodec.getSaramScratchSize() methods of the configured set of
algorithms.
When disabled (0), the engine integrator needs to manually configure
the scratch group sizes arrays.
config Server.skelCachingPolicy // module-wide |
|
Caching behavior that all skeletons will use
XDCscript usage |
meta-domain |
config Server.stackSizePad // module-wide |
|
Pad applied to unconfigured, CE-created threads
XDCscript usage |
meta-domain |
Server.stackSizePad = Int 8192;
DETAILS
This pad is only applied to algorithm stacks that are not configured,
as well as the
Server thread if it is not
configured.
config Server.threadAttrs // module-wide |
|
Thread attributes for the Server daemon thread
XDCscript usage |
meta-domain |
DETAILS
A single Server thread is created within each DSP Server. This thread
accepts requests to create/destroy algorithm instances.
This thread is sometimes referred to as the Resource Manager Server
(RMS) thread.
The
threadAttrs.stackSize field is optional when configuring a
server, though strongly recommended. Stack overrun is a very common
cause of system instability. If the
threadAttrs.stackSize field is
not assigned by the server integrator's script, a default value of
1K (1024 bytes) will be added to the value of
stackSizePad and used.
The
threadAttrs.priority field is optional when configuring a
server. If it is not assigned, by the server integrator's script, a
default value of
MINPRI will be used.
The threadAttrs.stackMemId field is optional when configuring a
server. If it is not assigned, by the server integrator's script, a
default value of 0 will be used.