HWI Module
2-154
at least partially in assembly language. Within an HWI function that
does not use the dispatcher, the HWI_enter assembly macro must be
called prior to any DSP/BIOS API calls that affect other DSP/BIOS
objects, such as posting a SWI or a semaphore. HWI functions can
post SWIs, but they do not run until your HWI function (or the
dispatcher) calls the HWI_exit assembly macro, which must be the
last statement in any HWI function that calls HWI_enter.
Tconf Name: fxn
Type: Extern
Example:
bios.HWI_INT2.fxn = prog.extern("myHWI",
"asm");
❏
monitor
. If set to anything other than Nothing, an STS object is
created for this HWI that is passed the specified value on every
invocation of the HWI function. The STS update occurs just before
entering the HWI routine.
Be aware that when the monitor property is enabled for a particular
HWI object, a code preamble is inserted into the HWI routine to make
this monitoring possible. The overhead for monitoring is 20 to 30
instructions per interrupt, per HWI object monitored. Leaving this
instrumentation turned on after debugging is not recommended,
since HWI processing is the most time-critical part of the system.
Options:
"Nothing", "Data Value", "xsp", "ac0g", "ac0h", "ac0l",
"ac1g", "ac1h", "ac1l", "ac2g", "ac2h", "ac2l", "ac3g", "ac3h", "ac3l",
"xar0", "xar1", "xar2", "xar3", "xar4", "xar5", "xar6", "xar7", "t0", "t1",
"t2", "t3", "xssp", "tim", "st0_55", "st1_55", "st2_55", "st3_55", "trn0",
"bk03", "brc0", "xdp", "xcdp", "dph", "mdp05", "mdp67", "pdp",
"bk47", "bkc", "bsa01", "bsa23", "bsa45", "bsa67", "bsac", "trn1",
"brc1", "csr", "rptc"
Example:
bios.HWI_INT2.monitor = "Nothing";
❏
addr
. If the monitor property above is set to Data Address, this
property lets you specify a data memory address to be read; the
word-sized value is read and passed to the STS object associated
with this HWI object.
Tconf Name: addr
Type: Arg
Example:
bios.HWI_INT2.addr = 0x00000000;
❏
type
. The type of the value to be monitored: unsigned or signed.
Signed quantities are sign extended when loaded into the
accumulator; unsigned quantities are treated as word-sized positive
values.
Tconf Name: dataType
Type: EnumString
Options:
"signed", "unsigned"
Example:
bios.HWI_INT2.dataType = "signed";