Part Number: TMS320C6678
Hi all,
I started to integrate in my project i2c functionality Based on the PDK 2.0.6 example projects. The example projects are correctly working and they pass correctly.
moving the code to my project I found difficulties in performing the I2C_transfer function. in particular I debugged until i found the core going in idle when pending on a semaphore even though there was a timeout set (1000U).
In particular the point where it stuck is in the I2C_transfer_v0 function at this instruction:
if (object->operMode == I2C_OPER_MODE_BLOCKING) {
I2C_drv_log1("\n I2C:(0x%x) Pending on transferComplete semaphore \n",
hwAttrs->baseAddr);
/*
* Wait for the transfer to complete here.
* It's OK to block from here because the I2C's Hwi will unblock
* upon errors
*/
semStatus = I2C_osalPendLock(object->transferComplete, transaction->timeout);
/* If interrupt is enabled and no specific call back routine is supplied by
the application, the error status is stored in object->intStatusErr.
Read it and return the error status accordingly */
........
I'm pretty sure there must be some compatibility/setting issue but i can't find it so far.
I merged the example .cfg with the one i'm using in my project and reproducing the example with a dedicated main file but with my project .cfg
any idea of what this issue might be?
Thank you in advance,
Best regards
Fabrizio
