[英]uboot- MMC no SDcard
我试图在imx51飞思卡尔板上运行一个带有linux rootfs的linux内核。
我编译linux内核,根文件系统和u-boot并将映像复制到SD卡:分区0:启动分区1:rootfs和linux内核
但是我有以下错误:
U-Boot 2011.12 (Mar 13 2012 - 14:15:41)
CPU: Freescale i.MX51 family rev3.0 at 800 MHz
Reset cause: POR
Board: MX51EVK
DRAM: 512 MiB
WARNING: Caches not enabled
MMC: FSL_SDHC: 0, FSL_SDHC: 1
MMC: no card present
MMC init failed
Using default environment
In: serial
Out: serial
Err: serial
Net: FEC
Warning: failed to set MAC address
Hit any key to stop autoboot: 0
MX51EVK U-Boot > mmcinfo
MMC: no card present
Device: FSL_SDHC
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 0
Rd Block Len: 0
MMC version 0.0
High Capacity: No
Capacity: 0 Bytes
Bus Width: 0-bit
MX51EVK U-Boot > mmc init
mmc - MMC sub system
Usage:
mmc read addr blk# cnt
mmc write addr blk# cnt
mmc erase blk# cnt
mmc rescan
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] - show or set current mmc device [partition]
mmc list - lists available devices
MX51EVK U-Boot > mmc list
FSL_SDHC: 0
FSL_SDHC: 1
MX51EVK U-Boot > mmc dev
MMC: no card present
mmc0(part 0) is current device
MX51EVK U-Boot >
可能有什么不对?
检查DIP开关,我意识到开关设置为从底部插槽启动SD卡,而我一直从顶部插槽启动。 因此,它解决了我的问题
在档案./board/freescale/mx51evk/mx51evk.c
int board_mmc_init(bd_t *bis)
{
u32 index;
s32 status = 0;
esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
}
根据上面的代码片段,我建议检查时钟源。 尝试探测MMC0源上的时钟。 可能存在时钟源问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.