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.

MCU-PLUS-SDK-AM243X: How to start a bootloader from emmc?

Part Number: MCU-PLUS-SDK-AM243X
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG

Dear TI experts,

   My project needs to start a program from emmc, but I didn't find any examples about sbl_emmc in the  AM243x MCU+ SDK(EVM).

   My board is non hsfs board(TMDS243GPEVM).

   I'm a novice, what do I need to do to start a bootloader from emmc 

  • Hi Weijian,

    We don't currently support EMMC RTOS boot in AM243x. We do support using the SD card. Is there any specific reason why you would prefer eMMC boot?

    Regards,
    Anand Mahadevan SS

  • Hi, Anand

      Thank you for your reply. The reason I chose EMMC RTOS boot is to control the cost.

      I found examples\drivers\boot\sbl_emmc_linux\am64x-evm path in MCU-PLUS-SDK-AM64X (SBL EMMC Linux in AM64x).

      I tried porting sbl_emmc_linux code to am243x and generated a .tiimage file. Unfortunately, flashing the .tiimage file to EMMC was not successful. The error message is as follows

     Can I port the sbl_emmc_linux  example to  AM243x ? 

  • Hi Weijan,

    It is not trivial to support eMMC boot from RTOS, and SBL eMMC linux is specifically for loading linux images as well with the SBL. Since we don't have RTOS eMMC boot support, I can't comment on the efforts. I am not sure if it will be a simple porting job. I still don't understand the issue with SD boot. Also, are you looking for a filesystem boot or raw image boot?

    Regards,
    Anand Mahadevan SS 

  • Hi  Anand,

    I still don't understand the issue with SD boot.

    1. In my project, SD boot is successful. At the beginning, our team considered EMMC RTOS BOOT from the perspective of security and cost control, so I tried to find a solution for EMMC RTOS BOOT.

    Also, are you looking for a filesystem boot or raw image boot?

    2. I'm sorry that I didn't understand the meaning of the above sentence. Currently, I can read and write data from EMMC by using the FatFs tool. In my project, I can also generate a system.appimage file.

    3. I have another question, will you provide EMMC_RTOS_boot in the subsequent MCU-PLUS-SDK-AM243X version?  If there is such a plan, do you know how long it will take? I hope to receive your reply, thank you.

    Regards,

    Weijian Tang

  • Hi Weijan,

    There is no immediate plan to support EMMC RTOS boot for am243x soon. Looks like you're using filesystem on eMMC, but it is not very clear what your setup is, and I am unaware of the changes you've done to get emmc + fatfs + sbl_uart_uniflash working to flash images into emmc. Can you please provide some more information?

    Regards,
    Anand Mahadevan SS

  • Hi  Anand,

    1. I found that the SDK for AM243X has been updated, and then I tested the  sbl_emmc in AM243x_MCU_SDK_09.01.00. Unfortunately, the following error still occurs.

    2. I found that the SBL_EMMC uses the  AM64x board, and the following is the debugging information from the official website.

    3. My doubt is whether sbl_emmc can run successfully on the AM243x-EVM

  • Hi, Anand,

    From this post, it should be able to support eMMC on AM243x, and tried on EVM board, it is also OK.

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1250010/mcu-plus-sdk-am243x-using-uniflash-to-flash-emmc

    And test on AM243x EVM, it is also able to flash eMMC, but on customer's board without QSPI, it can't, then disable QSPI on AM243x EVM, it also can't flash eMMC, is the flash code checked QSPI existing? 

    attach the log:

    with QSPI on EVM:

    Disable QSPI on EVM:'

    Would you please check on that?

  • Hi Tony,

    I am not sure I understand what you mean by "disabling QSPI". Can you elaborate? Did you disable it for the flash-writer?

    Regards,
    Anand Mahadevan SS

  • Hi Anand,

    They intend to flash the MMC without OSPI Flash.So they disable OSPI by shorting the FLASH hardware.

    Thanks,

    Hang. 

  • Hi Hang,

    Can you please try to run the example without disabling the OSPI here, if not validated already? We can make sure that the SDK example is working for you as is then we can look at what issue disabling the flash is causing at your end.

    Regards,

    Ankur

  • Hi Hang,

    I am bit confused about the customer setup now. Can you clarify on these questions:

    1. Did you try SBL eMMC on AM243x-EVM and was able to successfully flash and boot an application? If yes, what software changes did you make for that?

    2. Assuming SBL eMMC worked on your AM243x-EVM setup, when you tried it on custom board, since OSPI flash is not there, did you remove the flash component from SBL UART UNIFLASH sysconfig as well since there is no flash? Or did you simply short the OSPI pins? If you only did the short, then what you're seeing is expected. Because since flash driver is part of SBL UART Uniflash it will try to initialize flash which will fail since you have shorted the hardware. Please remove the Flash module from the SBL UART's sysconfig and try flashing again to eMMC.

    Regards,
    Anand Mahadevan SS

  • Hi Anand,

    Following are feedback from customer:


    1. Did you try SBL eMMC on AM243x-EVM and was able to successfully flash and boot an application? If yes, what software changes did you make for that?

    No, they've never tried it on EVM. Since you asked for changes, are you indicating that the original SBL eMMC can not flash and boot application?

    2. Assuming SBL eMMC worked on your AM243x-EVM setup, when you tried it on custom board, since OSPI flash is not there, did you remove the flash component from SBL UART UNIFLASH sysconfig as well since there is no flash? Or did you simply short the OSPI pins?

    No, they didn't make any changes to sysconfig and simply shorted the OSPI pins.

    Anyway, customer's goal is the flash and boot from eMMC without OSPI flash. Is there a recommended way to do this?

    Additionally, they can accept flashing the MMC before installing it to the board, in this case, any recommended process?

    Thanks,

    Hang.

  • Hi Anand,

    Is there any update on this thread?

    Regards,

    Hang.

  • Hi Hang,

    I asked for changes because SBL eMMC is not enabled for AM243x, only for AM64x. 

    I think the problem here is that OSPI pins are shorted and are not valid. This will make the Flash initialization fail. It is assumed that the flash is always connected to the OSPI pins, and there is no way to check this during init. Since you know that Flash is not used, can you try removing the Flash component from the sysconfig of sbl_uart_uniflash and rebuild? Let me know if you see any issues with that.

    Regards,
    Anand Mahadevan SS