2012-03-14 151 views
3

我想要一個linux內核,在Linux上運行的linuxfs在飛思卡爾的主板上運行。uboot- MMC沒有SD卡

我編譯Linux內核,根文件系統和U-boot和圖片複製到SD卡:分區0:啓動分區1:根文件系統和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 > 

什麼可能是錯的?

+0

我的啓動分區是50 MB,我的rootfs分區是3.64 GB,其中2.45 GB用於內核和RFS。我發現這很奇怪,因爲我發現人們談論的小至6MB文件系統:( – user900785 2012-03-14 15:31:53

+0

您是否使用評估板附帶的u-boot版本?您確定您正確地移植了驅動程序嗎?這似乎是一個驅動程序問題我是因爲製造商ID和MMC版本是0. – 2012-03-15 00:09:14

+0

哦,我得到了最新的uboot,並通過設置配置爲我的主板編譯了它btw當我嘗試做一個git clone時,它似乎失敗了git clone git:// git .denx.de/u-boot-imx.git 克隆到u-boot-imx中... 致命錯誤:協議錯誤:錯誤的行長字符:軟木 ........任何想法?? – user900785 2012-03-15 15:57:43

回答

2

檢查DIP開關,我意識到開關設置爲從底部插槽啓動SD卡,而我一直從頂部插槽啓動。因此,解決我的問題

1

在文件./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信號源的時鐘。有可能是時鐘源問題。