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.

Problem using sdcard with wince6/7 + dm3730

Other Parts Discussed in Thread: DM3730

I have the following error using SDCard with DM3730:

DataTransmitCompletedHandler() - exit: STAT register indicates MMC_STAT_DTO error.

...

SendCommand (Cmd=0x00000018, Arg=0x00316800, RespType=0x00000001, Data=0x1) Data Line in use!

If I try to write a large file to sdcard (copy/paste nk.bin for example) it fires the error. After the error the sdcard reader stops working. I'm using the latest TI BSP for wince6 on a custom board with DM3730.

The same error is fired using WEC7 on the same board.

I tried also porting the sdcard driver (sdhc.cpp) from BSP 2.0 for WEC7 under BSP1.2 for WCE6, but the error is still fired.

The strange thing is the SDCard reader works fine using the SAME board with 3525!

I tried resetting the controller after MMC_STAT_DTO  setting MMCHS_SYSCTL.SRD and MMCHS_SYSCTL.SRC bits, but nothing changed.

What can I try?

Luca

NB

Linux works fine with both processors!

  • Luca,

    How big is the NK.bin that you are trying to copy? Where is source location for NK.bin(nand, sdcard, ramdisk , usb drive)?

    If set the OPP mode(there is an optionin Eboot menu) to 600MHz MPU speed , do yo still see the same issue?

    Thanks,

    Tao

  • Hi Tao,

    my board boots from sdcard and my nk.bin is 26M. First I copy the nk.bin to ramdisk then I copy it from ramdisk to sdcard with a different name.

    What I noticed is the error happens only for CMD24(write single block) and CMD25(write multiblock), I've never had problems copying from sdcard to ram.

    If I set OPP to 600MHz the problem remains.

    When this happens only the CTO bit of  MMCHS_STAT register is set. I tried doing a software reset in the SendCommand (sdhc.cpp) using SRC and/or SRD bit of MMCHS_SYSCTL register and I don't get anymore 'Data line in use' error, but the timeout still remains!

    Also I noticed the CMD24 is defined with bits BCE (block count enable) and MSBS (multiblock) enabled, maybe these bits are ignored, but I changed the definition from

    { 1, 1, 0, MMCHS_RSP_LEN48 | MMCHS_CMD_DP | MMCHS_CMD_MSBS | MMCHS_CMD_BCE | MMCHS_CMD_NORMAL }, // CMD 24

    to

    { 1, 1, 0, MMCHS_RSP_LEN48 | MMCHS_CMD_DP | MMCHS_CMD_NORMAL }, // CMD 24

    As far as I see this doesn't prevent the controller from firing the timeout.

    Thanks,

    Luca

  • Luca,

    I tried on TI EVM with DM3730 with 2.0 BSP, I did not see the issue.

    Maybe you can look at the difference between your BSP and the official 2.0 BSP.

    The transmit also involves SDMA, does SDMA working properly? You can also add extra debug messages by defining ENABLE_RETAIL_OUTPUT in sdhc.h to get more ideas.

    Thanks,

    Tao