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.

DM6437 McBSP timeout

Hello:

We are using the DM6437 McBSP configured as a SPI Slave and uses edma.

Does the McBSP support a timeout?   Can I specify a timeout in the GPIO_create() attrs?

GIO_Attrs gioAttrs = GIO_ATTRS;
gioAttrs.timeout = 2000;

What are the units of the timeout?

How will the application know that a timeout occured?   Will the timeout properly return the McBSP and EDMA to a working condition for future calls?

Can I also call the GIO_flush() on this object.  Will it properly clean up both the McBSP and the EDMA?

Regards,

--B

 

  • Bandeg said:
    Does the McBSP support a timeout?   Can I specify a timeout in the GPIO_create() attrs?

    The timeout feature comes from BIOS not the McBSP.  I assume you mean GIO_create().  Yes, you can specify a timeout.

    Bandeg said:
    What are the units of the timeout?

    It's in units of "system ticks".  This is the BIOS heartbeat, generally 1ms per tick.

    Bandeg said:
    How will the application know that a timeout occured? 

    When you call an API such as GIO_read() you need to check the returned status value.  If a timeout occurred it will return IOM_ETIMEOUT.  Otherwise it will return IOM_COMPLETED.

    Bandeg said:
    Can I also call the GIO_flush() on this object.  Will it properly clean up both the McBSP and the EDMA?

    I've not tried out this driver before.  You should be able to call GIO_flush() though I'm not sure exactly what driver you are using or how it is handled.