Modifying IMASK
void Foo(void) {
void *Value;
...
Value = adi_int_EnterCriticalRegion(pArg);
...
adi_int_ExitCriticalRegion(Value);
...
}
This practice is allowed; however, the application developer is cautioned
that overuse of these functions can affect system performance.
The
value passed into the
pArg
depends upon the actual implementation for the given operating environ-
ment. In some operating environments, the value is not used and can be
NULL. For more information on the
for the specific operating environment,
fin/lib/src/services
All system services and device drivers use these functions exclu-
sively to protect critical regions of code. Application software
should also use these functions exclusively to protect critical
regions of code within the application.
Modifying IMASK
Though applications rarely need to have the processor's
value modified, the interrupt manager itself modifies the
value to control the CEC properly. In some RTOS-based operating envi-
ronments, the RTOS controls the
functions that allow the manipulation of
In order to ensure compatibility across all operating environments, the
interrupt manager provides functions that allow bits within the
ister to be set or cleared. Depending on the operating environment, these
2-14
// critical section of code
adi_int_EnterCriticalRegion()
directory where
IMASK
VisualDSP++ 5.0 Device Drivers and System
Services Manual for Blackfin Processors
parameter, check the source file
pArg
, in the
adi_int_xxx.c
is the operating environment.
xxx
register tightly and provides
.
IMASK
function
Black-
register
IMASK
register
IMASK
reg-
IMASK
Need help?
Do you have a question about the VisualDSP++ 5.0 and is the answer not in the manual?