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.

关于am3359上emmc的支持问题



您好 我们的数字板设计的时候在mmc0上接了8GB的SD卡和emmc芯片,用跳电阻的方式切换,SD卡只在调试阶段使用,现在板子已经调好,打算撤掉SD卡把系统镜像固化到emmc,但是用串口启动之后去寻找emmc设备找不到,因此我想确认以下几个问题:

1.我看芯片规格书上写mmc0上只支持小于4GB的emmc芯片的启动,应该不是连设备都认不到吧,如果我只把emmc当作普通的存储设备也是可以用的吧,就像SD一样?

2.emmc芯片是8位的,我们只用了低4位,我看规格书上写的感觉4位和8位应该也就是速率上的问题,但是现在认不到设备,不知道会不会因此而有问题?

希望工程师们能给予帮助,万分感谢!

  • 有看过TRM手册的26.1.7.5 MMC/SD Cards章节吗?里面的第二小节说的就特别指出的是你现在的这种情况。大于4G的MMC必须接在MMC1才能支持启动。

    Each interface has booting restrictions on which type of memory it supports: -
    • MMC0 supports booting from the MMC/SD card cage and also supports booting from
    eMMC/eSD/managed NAND memory devices with less than 4GB capacity.
    • MMC1 supports booting from eMMC/eSD/managed NAND memory device with 4GB capacity or
    greater.
    The restriction is a result of many eMMC devices not being compliant with the eMMC v4.41 specification.
    If you have the need to boot from two different card cages, many MMC/SD cards will boot from MMC1, but
    for maximum compatibility only MMC0 should be used to boot from the card cage. Similarly for maximum
    compatibility, booting from eMMC/eSD/managed NAND should only be performed on MMC1.
    Note that the above restrictions only apply to booting from each port. Drivers can be written for either port
    to support any desired interface.

  • 感谢您的回复。您说的这个内容我也看过,基于以下两句:The restriction is a result of many eMMC devices not being compliant with the eMMC v4.41 specification.

    Note that the above restrictions only apply to booting from each port. Drivers can be written for either port
    to support any desired interface.这两句我的理解是这个限制是对于不支持v4.41规格的emmc,而我们的设备是支持的,并且我也见过有数字板是4GB的emmc接在mmc0上是可以正常工作的。我现在很困惑的是,即使mmc0上不支持从emmc启动,那也不至于连设备都识别不到吧,Linux内核起来之后设备还是可以识别到的呢,所以我想请教下,是不是有什么我们需要注意的配置,或者需要修改uboot中对emmc设备的支持?

  • 请问您现在eMMC是什么型号的,用的是什么协议?

    若是4.41以上的协议,bootrom是不会从MMC0上启动eMMC的。

  • 在吗 能否分享下 你在AM335X上用EMM5.0 如下命令的值,我看看 bus用的4bit还是8bit

    cat /sys/kernel/debug/mmc*/ios