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.

CCS/TMDSLCDK6748: McASP starterware no inteerupt

Part Number: TMDSLCDK6748
Other Parts Discussed in Thread: TLV320AIC3106, OMAP-L138

Tool/software: Code Composer Studio

Hi,

I'm new to TMDS320 and CCS. I'm trying to run McASP code in C6748_StarterWare_1_20_04_01 on TMDSLCDK6748 demo board. Build and run debug work well, but I don't hear any loop back audio from line out. My code is stuck @  if(lastFullRxBuf != lastSentTxBuf) under while loop. And the code never enter the EDMA3CCComplIsr().

Did I miss anything, any configuration setup, any suggestions?

Thanks,

-Jay L.

  • Hi Jay L,

    I've forwarded this to the software experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Thanks for the reply and RandyP's email.

    I'm running starterware example from C6748_StarterWare_1_20_04_01
    C:\ti\C6748_StarterWare_1_20_04_01\build\c674x\cgt_ccs\c6748\lcdkC6748\mcasp
    I also tried evmC6748 example. not working for me too.

    I'm using CCS 7.0.0.00043. and XDS100V2. I did import McASP project from starter ware. build and run debugger, no error. I'm checked my audio line in and line out cable is OK. The demo board is TMDSLCDK6748.

    I'll spend some time on TLV320AIC3106, see if I can figure it out. In the meanwhile, if you can think of anything else, especially the CCS setup etc. please let me know.

    Thanks,
    -Jay
  • It seems AIC chip is OK, I can see MCLK is 24.576MHz, BCLK is 1.536MHz, WCLK is 48K, DOUT has the data out. It must be on the C6748 McASP input buffer related stuff, considering I don't get any EDMA3CCComlIsr interrupt. But I haven't figure out how to setup debug to watch the RX buffer...

    -Jay
  • Jay,

    In CCS, while your program is running you can often refresh the screen to see changes on registers and memory locations. If you are viewing the McASP registers, either in the Registers window or in a Memory Browser window, you can refresh that window to see if anything is changing.

    If the McASP is working and new data is coming in and available to be read (or is actually being read), you should see the DRR register contents changing. If the EDMA is working and copying data to some input buffer, you should be able to view that input buffer in a Memory Browser window and see it changing when you refresh.

    Not all processors support this realtime update feature. If it does not let you refresh on your device, you can just halt the processor to see the registers update and then resume the processor running - halt again to see the display update again.

    Although I can help with minutia like low-level debugging, someone like Rahul will be much smarter at the software and system-level issues.

    Regards,
    RandyP
  • I can see the data in both rxBuf0 and rxBuf1 are changing when refreshing the expressions watch window. Data in rxBuf2 are always 0s. lastFullRxBuf and lastSentTxBuf are always 2. This is because McASPRxDMAComplHandler is never get called.

    Thanks,
    -Jay
  • Jay,

    It looks like the AIC codec is being set correctly so the issue seems to be on the MCASP-EDMA setup. Can you confirm that you are using Line in and not MIC In on the LCDK board ? Can you confirm that you are able to see the GEL initialization when you connect to the C674x core.

    I am able to hear the loopback without any issues with the same setup as you are using. Can you go to view->Registers and check if MCASP_XSTAT and MCASP_RSTAT to see if any MCASP errors are being reported.

    Regards,
    Rahul
  • Hi Rahul,

    I'm using line-in not MIC in. How do I check GEL initialization is correct?

    My McASP_XSTAT is 0x0151, McASP_RSTAT is 0x0058. Transmitter has under run error.

    Thanks,
    -Jay
  • It seems RDATA is never get set. Do I need this to trigger the Receive EDMA?

    Thanks,
    -Jay
  • I am having similar issues with this sample code and the OMAP-L138 LCDK.

    I have the same results with Codec configuration (MCLK, BCLK, WCLK, DOUT all appear normal). The code is hanging at the same place, RXBuf0 and RXBuf1 both are changing, RXBuf2 is not. My McASP_XSTAT and McASP_RSTAT are both 0x0050 (or 0x0058). When I navigate to tools->GEL Files, there are no files displayed.

    It is also worth noting that if I power cycle the board between debug sessions, the code works. The problem only seems to occur for me when a new debug session is begun without power cycling the board.

    This may be a different problem disguised by similar symptoms, but I figured another case could be helpful in this debug process.

    Jeff
  • Thank you Jeff.

    I tried power recycle and rebuild, restart a new debug session, no luck.

    But, I just found on my board, during the debug session, I removed the power, I can hear something from my speakers, although it has lots of noise, but I can still figure it is my music from line-in. Yeah...

    I guess board still can get some power from XDS100V2 debugger??? What's going on?

    I plug the power back, loopback audio from speakers stopped. unplug the power again, loopback audio back on...

    -Jay
  • I think the loopback sound I heard after I removed the power, maybe the coupling noise from line-in.

    -Jay
  • Hi,

    I found after I set SW1 switch-3 to OFF position, audio loopback is working.

    So, why this affect the audio?

    Thanks,
    -Jay
  • Jay,

    I am not unclear why the boot switch is causing an interference on your board the SW1 swtich uses GPIO0_1 , GPIO0_2, GPIO0_3 and GPIO0_4 which are internally pin muxed with MCASP serializers AX9, AX10, AX11, AX12.

    The MCASP-AIC31xx interface uses AX13 asnd AX14 so there should be no conflicts when setting boot switches. I will ask our hardware expert to comment on this behavior and try to see if this issue has been reported before.

    Regards,
    Rahul