metaonly module ti.sdo.ce.Server

DSP Server Configuration interface

XDCspec summary sourced in ti/sdo/ce/Server.xdc
metaonly module Server {  ...
XDCscript usage meta-domain
var Server = xdc.useModule('ti.sdo.ce.Server');
module-wide constants & types
 
        obj.name// alg nick-name = String  ...
        obj.groupId// group id of the algorithm = Int  ...
 
        obj.stackMemId// MEM seg id for the thread's stack = Int  ...
        obj.priority// priority of the thread = Int  ...
module-wide config parameters
 
 
XDCspec declarations sourced in ti/sdo/ce/Server.xdc
package ti.sdo.ce;
 
metaonly module Server {
module-wide constants & types
    };
 
    metaonly struct AlgDesc// Algorithm descriptor {
        String name// alg nick-name;
        Int groupId// group id of the algorithm;
    };
 
    metaonly struct ThreadAttrs// Thread attributes {
        Int priority// priority of the thread;
    };
module-wide config parameters
    readonly config Int MAXPRI// Maximum priority that a thread can assume = 15;
    readonly config Int MINPRI// Minimum priority that a thread can assume = 1;
 
}
 
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
    obj.mod = ICodec.Module  ...
    // alg that implements skeletons
    obj.threadAttrs = Server.ThreadAttrs  ...
    // 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
Server.algs = Server.AlgDesc[] undefined;
 
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
Server.skelCachingPolicy = Server.SkelCachingPolicy undefined;
 
 
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
Server.threadAttrs = Server.ThreadAttrs undefined;
 
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.
generated on Thu, 02 Dec 2010 05:35:36 GMT