This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Lower priority tasks stopping FVID_create from completing on DM648

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[:)]