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.

RTOS/AM4377: Problems with PDK examples

Part Number: AM4377

Tool/software: TI-RTOS

I am using the MYIR PRU Development board, and am trying to, in the end, implement the FATFS on the eMMC.  I have managed to get the MMCSD_FatfsConsole_evmAM437x_armExampleProject to run on my board, which does the FATFS on the SD.  I then tried to get the MMCSD_evmAM437x_EMMC_armTestProject to run, and it ran, but failed in reading and writing the eMMC.

Looking at the PDK document (http:// processors.wiki.ti.com/index.php/Processor_SDK_RTOS_MMCSD), it states 

eMMC Usage

MMCSD driver supports eMMC device. Application need to configure the eMMC device for an instance of peripheral. It is also recommended to configure the operating bus width of eMMC device.

mmcsdInitCfg[MMCSD_INSTANCE].cardType = MMCSD_CARD_EMMC;
mmcsdInitCfg[MMCSD_INSTANCE].supportedBusWidth = MMC SD_BUS_WIDTH_8BIT;
MMCSD_init();


However, the demo app , which has the MMCSD instance 1 (from 0-2) pointing to this, still fails.
I have asked MYIR if there is a difference in how the eMMC is wired in the SOM, but doubt that this is the issue.

When I tried to use MYIR pin configuration files, there were too many differences in the structure, and the project fails to compile.

Is there anyone with experience with the MYIR board who knows how to do this?



  • The RTOS team have been notified. They will respond here.
  • Hi,

    Let me test on our TI AM437x GP EVM and get back to you.

    Regards, Eric
  • Hi,

    For the AM437x GP EVM, the EMMC instance is 1, the configuration is in MMCSD_soc.c with MMCSD_v1_HwAttrs MMCSDInitCfg. Do you use the same configuration for the MYIR board?

    Also, the eMMC has pinmux set-up pinmux_emmc_AM437x(). Do you have pinmux set-up matching your board?

    Regards, Eric
  • Hello Eric,

    I have spent most of the day watching training videos, and would like to ask for you help in showing me where to continue. First, here is the response from MYIR about their board:


    1. The EMMC pins of MYD-C437X-PRU is different from TI-EVM, they are the same with TI-IDK
    2. You can see that in "Am43xx-idkevm_pinmux_data.c" , it has no pinmux configurations for emmc. So emmc can not work.
    static pinmuxModuleCfg_t gMmcsdPinCfg[]=
    {
    {0, TRUE, gMmcsd0PinCfg}, // 0 is the instance num of sdcard.
    {CHIPDB_INVALID_INSTANCE_NUM}
    }

    3. Our MYD-C437X-PRU board was designed based on TI-IDK, we have not provided emmc demo also.
    We've provided the pinmux configurations for emmc in "AM43xx_mydidk_pinmux_data.c", you can refert to it to debug the emmc demo by yourself.

    static pinmuxModuleCfg_t gMmcsdPinCfg[] =
    {
    {0, TRUE, gMmcsd0PinCfg},
    {1, TRUE, gMmcsd1PinCfg}, // 1 is the instance num of emmc on myd_c437x_pru
    {CHIPDB_INVALID_INSTANCE_NUM}
    };

    In order to use emmc, you should config the emmc pins in function "Board_STATUS Board_pinmuxConfig (void)"
    eg:
    status = PINMUXModuleConfig(CHIPDB_MOD_ID_MMCSD, 1U, NULL);

    and enable the PRCMModule of emmc in function "Board_STATUS Board_moduleClockInit()"
    eg:
    status = PRCMModuleEnable(CHIPDB_MOD_ID_MMCSD, 1U, 0U);

    Unfortunately, I'm quite new to the entire ecosystem, and cannot find half of what they are referring to.

    I have been watching this:

    software-dl.ti.com/.../presentation_html5.html


    and would like to know (I've been looking and unable to find) a user manual about how to do board porting in CCS. I'm using version 6.2 (customer requirement, it's what they use).



    Thanks,
  • Hi,

    Please check processors.wiki.ti.com/.../Processor_SDK_RTOS_Board_Support on how to port a board.

    Regards, Eric