Hi
I added several tasks to the EVM's sd_loopback example and elevated the tskSdLoopback() task to the highest level. When I try to step over the FVID_create() (see below) code for the capture channel the code jumps to the next lower priority task. Its really strange. When I run the execution graph, I see the code start in tskSdLoopback() and then oscillate between "other threads" and KNL_swi, and then go to the next lower priority task, then the next, then the next.
capChInfo.chanHandle = FVID_create(vPortCapStrings[CFG_CAP_CHANNEL],
IOM_INPUT,
&status,
(Ptr)&vCapParamsChan,
NULL);
I stepped through the code to the I2C driver and its not returning from the ddc_i2c.c (line 1556)
if (i2cObj->currBufferLen > NULL)
{
retCode = PAL_osSemTake(i2cObj->completionSem, timeout); // Does not return [:(]
if (retCode != PAL_SOK)
If I change the task priority to be less than the other tasks, then the code works fine (I get video).
The other tasks are present but do not execute any code.
Do I have to change the priority of the video and I2C drivers? How?
Many thanks[:)]