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.

LCDK OmapL138, vpif ethernet problem

Hello,

I use ndk to configure ethernet, I want to use the VPIF also but without ndk (my code). My problem is that ethernet works without vpif and vpif works without ethenet but they don't work together. Is there some bug or something? I can say that ethernet doesn't work when I run IntDSPINTCInit() function. I tried many things to run this but I can't. Please help.

Regards,

  • Which version of BIOS are you using?  Are you using the PSP drivers?

    You may be seeing a problem due to a resource conflict.  We've seen this in the past, typically there is A) an NDK app works fine by itself, and B) a PSP driver app that works fine by itself.

    But when trying to combine A) and B) together, it doesn't work.  Usually there's two components that need the same HWI for example.

    Please see the following post for an example of this:

    http://e2e.ti.com/support/embedded/bios/f/355/t/112802.aspx?pi24527=1

    Steve

  • Hello,

    SYS/BIOS: 6.34.2.18

    NDK: 2.22.0.06

    NDK Network Support Package: 1.10.1.06

    I am sure that  IntDSPINTCInit() function do something that ethernet doesn't work, even when I don't start my VPIF and I only run IntDSPINTCInit() before or after initialization ethernet it doesn't work. Without it ethernet works. I don't use PSP driver.

  • Mark Duda said:
    I am sure that  IntDSPINTCInit() function do something that ethernet doesn't work, even when I don't start my VPIF and I only run IntDSPINTCInit() before or after initialization ethernet it doesn't work. Without it ethernet works. I don't use PSP driver.

    Where is the function 'IntDSPINTCInit' coming from?  I don't believe this function is coming from SYS/BIOS, NDK or the NSP.  Are you using some CSL or some other product, in addition to the above 3?

    Steve

  • This is a standard function I think, not from bios,ndk, nsp. It is in interrupt.c file:

    void IntDSPINTCInit (void)
    {
    unsigned int step = 0;

    /* Set ISRs to default "do-nothing" routine */
    while(step != C674X_INT_COUNT)
    c674xISRtbl[step++] = IntDefaultHandler;

    /* Set interrupt service table pointer to the vector table */
    #ifdef __TI_EABI__
    ISTP = (unsigned int)_intcVectorTable;
    #else
    ISTP = (unsigned int)intcVectorTable;
    #endif

    /* Clear pending CPU maskable interrupts (if any) */
    ICR = 0xFFF0;

    /* Enable NMIE bit to allow CPU maskable interrupts */
    IER = (1 << C674X_NMI);

    }

    I am pretty sure this causes not working ethernet with ndk.

  • I'm not familiar with that function, but it looks like it's all of the interrupt vectors to point to a default.  My guess is that this is overwriting the interrupt vectors that have been set up by BIOS (and hence overwriting the NSP's ISR assignments).

    Why are you using this function?  Is this being called from the "VPIF" side of things?

    Steve