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.

McBSP interrupts CPU IDLE mode

Hi

 
Does McBSP interrupt the CPU out of IDLE mode? (using 55100

I'm using McBSP events to sync the DMA transmission (an interrupt should occur when a certain buffer is full, this should get the CPU out of IDLE mode, at least in theory!)

in addition, does any one have a guide on how to IDLE the CPU other than the data sheets (I tried almost every thing there) and still having problems, a sample code would be great.

regards

aziz

  • Aziz,

    Yes, any enabled interrupt should end IDLE.

    The hardest part about debugging IDLE modes is they don't work well in the debugger. You'll have to run disconnected.

    I usually set a GPIO as I go in and clear it as I come out and look at it in a logic analyzer to see if the timing is making sense with the rest of the system.
  • Hi Bill

    I'm having trouble with IDLE mode, so I now decided to totally disable or turn off the McBSP when I need power consumption to be reduced (in consequence, DMA will stop, and the CPU will not be interrupted again and will don no work...)
    what do you think the best way to do so (disabling the McBSP)?

    I'm sing initializing McBSP as following:

    MCBSP_Handle C55XX_CONTROLHANDLE_hMcbsp;
    MCBSP_Handle C55XX_DMA_MCBSP_hMcbsp;

    in addition to configuration structure...

    in this function is called from main:
    void initMcBSP (void){
    C55XX_CONTROLHANDLE_hMcbsp = MCBSP_open(MCBSP_PORT1, MCBSP_OPEN_RESET);
    C55XX_DMA_MCBSP_hMcbsp = MCBSP_open(MCBSP_PORT2, MCBSP_OPEN_RESET);
    MCBSP_config(C55XX_CONTROLHANDLE_hMcbsp, &mcbspCfg1);
    MCBSP_config(C55XX_DMA_MCBSP_hMcbsp, &mcbspCfg2);
    }

    any Ideas on how to stop McBSP, turn it off, or something similar (not IDLE mode, it is causing me headaches) at some point and turn it on again?


    best regards
    Aziz

  • Well, the McBSP User's Guide says to do this:

    This will involve IDLE, but of course you don't have to idle the CPU.

    Alternatively, you can set RRST=0, XRST=0, and GRST=1 in the McBSP peripheral.

    Regards,

    Bill