各位工程师们:
你们好!
我现在开发的产品上,既要使用GPMC,又要使用eMMC加载启动
问题一:要想使用eMMC加载启动,eMMC是不是只能接在U7-T9的这组MMC1接口上, 或者接到MMC0上使用4bit模式?
问题二:eMMC接在U10-U13这组MMC1接口上能否加载启动?
问题三:我的系统上GPMC的数据线只需要用到8位,我能否只使用GPMC_AD[15:8]这高8位,低8位留作MMC1接口用?
或者有没有两全其美的方案,求指导。
robin luo:
回复 Steven Liu1:
看来只能接到mmc0上使用了,非常感谢!
leo chen:
回复 Steven Liu1:
第三种方式可能是可以的,没测试过
1、首先把GPMC接口配置成16bit方式
2、把gpmc数据线的低8位定义成mmc模式
3、传输数据的时候从gpmc的高8位输出,需要把要传输的数据移动8位
robin luo:
回复 Steven Liu1:
Steven Liu:
刘工:你好!你说使用MMC0启动时,eMMC要小于4GB。
问题一:是基于什么原因呢?是大于4G的MMC0接口根本不能识别还是只能操作4GB以内的空间?
问题二:因为目前市场上的eMMC基本都是4GB以上的,小于4GB的也很难买到,我能不能先用UART和TFTP启动加载linux,然后把大于4GB的emmc格式化为小于4GB(比如3GB),我能否使用这3GB空间做启动用呢?这个方案可行吗?
问题三:另外,我用8G的TF卡也测试过,是可以启动的,不知TF卡和emmc有啥区别?
Steven Liu1:
回复 robin luo:
这个问题,是一个在启动过程中的限制。而且你所提到的这个问题,在AM335x的TRM手册中也有解释:
26.1.7.5.2 System Interconnection
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.Note:• The ROM Code does not handle the card detection feature on card cage.• If MMC1 is used the GPMC interface is not usable, due to pin muxing options.• MMC1 supports sector mode without querying the card.
Jian Zhou:
用pinmux工具配置一下就一目了然了:
Jun Cheng:
回复 Jian Zhou:
你好:
请问用pinmux配置了之后,具体到内核代码要到哪里去配置呢?
guangyun wang:
回复 Steven Liu1:
您好!对于您说的为了能够使用gpmc就只能使用小容量的emmc作为启动介质。我想请教您一下:如果我事先将8G的emmc分区为2G的fat32作为启动镜像(满足了小于4G的要求),而把emmc剩余多余容量另分一个区作为数据存储用。能否避免这个问题?