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.

am335x emmc无法启动

目前am335x emmc无法启动,使用系统为linux,问题描述如下:

我们emmc是接的am335x的mmc1接口,emmc为emmc5.0版本,大小为8G

 目前从tf卡可以正常启动,

Tf卡启动能对emmc进行正常读写,通过tf卡启动系统对emmc进行分区,格式化等操作,具体是将emmc分为两个区一个fat32区存放MLO和u-boot.img

一个ext4区存放linux文件系统和内核镜像,些制作方式与am437x上完全一样,am437x制作完成后可以从emmc启动,但是am335x无法启动.

制作完成后,重新启动进u-boot查看tf与emmc信息与内容,

 断电,拔掉tf卡,然后将启动方式切换到emmc启动,启动模式如下图:

上电无法启动,调试口一直输出字符C。如果在这种模式下,在插上tf卡,会切换到mmc0即tf卡启动.

麻烦帮忙分析下,有可能会是什么问题导致.

  • 请问SDK用的是什么版本的?

  • 你好,请问am437x从emmc启动,你是怎么做到的?uboot源码是用哪个版本的,能否分享下?我从tf卡启动后,也能对emmc进行读写操作,跟你一样,也是分成两个区,但我选择从emmc启动时,上电没有反应

  • 请问各位高手,这个问题后来是怎么解决的呢?? 我现在遇到同样的问题

  • 貌似在kernel下分区后,把MLO放入到fat32区中,也是无法启动,跟放到tf卡fat区中有点不一样,不知道为什么?我需要先在kernel下分区后,在重启到uboot下通过mmc write命令把单独把MLO烧写到0 0x100 0x200 0x300等位置处,这样可以读到MLO文件,但是这时候mmc的分区被擦除了,所以读不到uboot,必须进入kernel后再次进行分区,把uboot和uImage再次放入到fat32区,然后切换到emmc启动模式,然后MLO回去fat区读取uboot和kernel,也就是说MLO必须要通过mmc write命令写才可以运行,至今没有找到答案,为什么MLO需要单独烧写到emmc前面的位置处,而不能放入fat32分区中。

  • The ROM Code attempts to initialize the memory device or card connected on MMC interface. If neither
    memory device nor card is detected then the ROM Code carries on to the next booting device. The
    standard identification process and Relative Card Address (RCA) assignment are used. However, the
    ROM Code assumes that only one memory or card is present on the bus. This first sequence is done
    using the CMD signal which is common to SD and MMC devices.
    MMC and SD standards detail this phase as initialization phase. Both standards differ in the first
    commands involved: CMD1 and ACMD41. The ROM Code uses this difference in command set to
    discriminate between MMC and SD devices: CMD1 is supported only by the MMC standard whereas
    ACMD41 is only supported by SD standard. The ROM Code first sends a CMD1 to the device and gets a
    response only if an MMC device is connected. If no response is received then ACMD41 (ACMD41 is
    made out of CMD55 and ACMD41) is sent and a response is expected from an SD device. If no response
    is received then it is assumed that no device is connected and the ROM Code exits the MMC/SD Booting
    procedure with FAIL.

    As previously mentioned the contents of an MMC/SD card may be formatted as raw binary or within a FAT
    filesystem. eMMC / eSD devices only support raw mode. The ROM Code reads out raw sectors from
    image or the booting file within the file system and boots from it.

    eMMC启动时,采用MMCSD_MODE_RAW这个模式

    SD卡启动时,采用MMCSD_MODE_FAT这个模式

  • 请问下有没有解决这个问题。?我现在也遇到同样的问题