/****************************************************************************
* DibBridgeTargetInit
****************************************************************************/
DIBSTATUS DibBridgeTargetInit(struct DibBridgeContext *pContext)
{
   DIBSTATUS rc = DIBSTATUS_SUCCESS;

   /*** Initialize Mutex to avoid concurrent access ***/
   DibAllocateLock(&pContext->DibTargetAccessLock);
   DibInitLock(&pContext->DibTargetAccessLock);

   DibAllocateLock(&pContext->BridgeTargetCtx.IrqLock);
   DibInitLock(&pContext->BridgeTargetCtx.IrqLock);

   /*** Configure Driver for SRAM interface ***/
   DibBridgeSetHostIfMode(pContext, eSRAM);

   /*** Initialize SRAM Controller ***/
   SramInit(pContext);

   return rc;
}
예제 #2
0
/****************************************************************************
* DibBridgeTargetInit
****************************************************************************/
DIBSTATUS DibBridgeTargetInit(struct DibBridgeContext *pContext)
{
   DIBSTATUS rc = DIBSTATUS_SUCCESS;

   /*** Initialize Mutex to avoid concurrent access ***/

   DibAllocateLock(&pContext->DibTargetAccessLock);
   DibInitLock(&pContext->DibTargetAccessLock);

   DibAllocateLock(&pContext->BridgeTargetCtx.IrqLock);
   DibInitLock(&pContext->BridgeTargetCtx.IrqLock);

   /*** Configure Driver for I2C interface ***/
   DibBridgeSetHostIfMode(pContext, eI2C);

   /*** Use a global variable to call in DibWaitForEvent ***/
   pLocalContext = pContext;

   /*** Initialize I2C by Parallel port **i*/
   I2CInit();

   return rc;
}