IDL Module
2-174
❏
Idle Loop Instruction Count
. This is the number of instruction
cycles required to perform the IDL loop and the default IDL functions
(LNK_dataPump, RTA_dispatcher, and IDL_cpuLoad) that
communicate with the host. Since these functions are performed
whenever no other processing is needed, background processing is
subtracted from the CPU load before it is displayed.
Tconf Name: LOOPINSTCOUNT
Type: Int32
Example:
bios.IDL.LOOPINSTCOUNT = 1000;
IDL Object Properties
Each idle function runs to completion before another idle function can
run. It is important, therefore, to ensure that each idle function completes
(that is, returns) in a timely manner.
To create an IDL object in a configuration script, use the following syntax.
The Tconf examples assume the object is created as shown here.
var myIdl = bios.IDL.create("myIdl");
The following properties can be set for an IDL object:
❏
comment
. Type a comment to identify this IDL object.
Tconf Name: comment
Type: String
Example:
myIdl.comment = "IDL function";
❏
function
. The function to execute. If this function is written in C and
you use the DSP/BIOS Configuration Tool, use a leading underscore
before the C function name. (The DSP/BIOS Configuration Tool
generates assembly code, which must use leading underscores
when referencing C functions or labels.) If you use Tconf, do not add
an underscore before the function name; Tconf adds the underscore
to call a C function from assembly internally.
Tconf Name: fxn
Type: Extern
Example:
myIdl.fxn = prog.extern("myIDL");
❏
Include in CPU load calibration
. You can remove an individual IDL
function from the CPU load calculation by setting this property to
false. The CPU load calibration is performed only if the "Auto
calculate idle loop instruction count" property is true in the IDL
Manager Properties. You should remove a function from the
calculation if it blocks or depends on variables or structures that are
not initialized until the main() function runs.
Tconf Name: calibration
Type: Bool
Example:
myIdl.calibration = true;
❏
order
. Set this property for all IDL objects so that the numbers match
the sequence in which IDL functions should be executed.
Tconf Name: order
Type: Int16
Example:
myIdl.order = 2;