您好 我们的数字板设计的时候在mmc0上接了8GB的SD卡和emmc芯片,用跳电阻的方式切换,SD卡只在调试阶段使用,现在板子已经调好,打算撤掉SD卡把系统镜像固化到emmc,但是用串口启动之后去寻找emmc设备找不到,因此我想确认以下几个问题:
1.我看芯片规格书上写mmc0上只支持小于4GB的emmc芯片的启动,应该不是连设备都认不到吧,如果我只把emmc当作普通的存储设备也是可以用的吧,就像SD一样?
2.emmc芯片是8位的,我们只用了低4位,我看规格书上写的感觉4位和8位应该也就是速率上的问题,但是现在认不到设备,不知道会不会因此而有问题?
希望工程师们能给予帮助,万分感谢!
Steven Liu1:
有看过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 fromeMMC/eSD/managed NAND memory devices with less than 4GB capacity.• MMC1 supports booting from eMMC/eSD/managed NAND memory device with 4GB capacity orgreater.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, butfor maximum compatibility only MMC0 should be used to boot from the card cage. Similarly for maximumcompatibility, 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 portto support any desired interface.
Chuxiu Dong:
回复 Steven Liu1:
感谢您的回复。您说的这个内容我也看过,基于以下两句: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 portto support any desired interface.这两句我的理解是这个限制是对于不支持v4.41规格的emmc,而我们的设备是支持的,并且我也见过有数字板是4GB的emmc接在mmc0上是可以正常工作的。我现在很困惑的是,即使mmc0上不支持从emmc启动,那也不至于连设备都识别不到吧,Linux内核起来之后设备还是可以识别到的呢,所以我想请教下,是不是有什么我们需要注意的配置,或者需要修改uboot中对emmc设备的支持?
Jian Zhou:
回复 Chuxiu Dong:
请问您现在eMMC是什么型号的,用的是什么协议?
若是4.41以上的协议,bootrom是不会从MMC0上启动eMMC的。
TI中文支持网