Initialize the DCB manager with sufficient memory for one queue as
follows:
static char mjk_dcb_Data[ADI_DCB_QUEUE_SIZE];
:
u32 ns;
:
adi_dcb_Init(
(void*)mjk_dcb_Data,
ADI_DCB_QUEUE_SIZE,
&ns
NULL
);
Next, open the queue server for use by passing sufficient memory for the
length of queue required (in this case, five entries) and the desired IVG
level at which the queue operates. This level is ignored when used in a
VDK-based application. A handle,
returned:
static char mjk_dcb_QueueData[5*ADI_DCB_ENTRY_SIZE];
ADI_DCB_HANDLE p_DCB_handle;
:
u32 nqe;
:
adi_dcb_Open(
14,
(void*) mjk_dcb_QueueData, // Address of memory to be used
5*ADI_DCB_ENTRY_SIZE,
&nqe;
VisualDSP++ 5.0 Device Drivers and System
Services Manual for Blackfin Processors
Deferred Callback Manager
// Address of memory to be used
// Number of bytes required for the
// required number of queue servers.
// on return this should be the same
// as the required number of queues.
// No special data area for critical
// region required
, to the queue server is
p_DCB_handle
// required IVG level
// for a queue 5 deep.
// on return this should be the
// same as the required number of
5-5
Need help?
Do you have a question about the VisualDSP++ 5.0 and is the answer not in the manual?