mmc 升級之后,用戶如果使用老的鏡像(201805 月之前的代碼),會打印 mmc 的錯誤,并無法啟動。這是因?yàn)樵谀J(rèn)的 mmc 驅(qū)動源碼中有幾行判斷 mmc 版本的代碼,隨著時間流逝,mmc 硬件版本一直在升級,導(dǎo)致超出了預(yù)留的 mmc 版本號,其實(shí) mmc 硬件驅(qū)動是一模一樣的,只需要注釋掉 mmc 驅(qū)動中版本判斷的代碼即可。 本文檔適用于 iTOP-4412 精英版/全能版,iTOP-4418/6818 全能版,iTOPIMX6Q/D/UL 全能版。 1、mmc 驅(qū)動修改 mmc 驅(qū)動要修改的文件為內(nèi)核源碼“/drivers/mmc/core/”下的 mmc.c 驅(qū)動文件。 在該驅(qū)動文件下找到函數(shù)“mmc_read_ext_csd”,如下圖所示。 在“mmc_read_ext_csd”函數(shù)中的判斷 mmc 硬件版本代碼部分如下圖所示。 請注意,可能在部分開發(fā)板中已經(jīng)簡單修改,但是還是存在 mmc 升級之后可能無法使用 的情況,這里可以直接將其中的版本報(bào)錯返回的代碼注釋掉。將
也可以如下所示修改,這部分判斷版本范圍直接修改為打印版本號。
2、4412 的 uboot 修改 mmc 硬件升級之后,uboot 部分,除了 4412 開發(fā)板需要簡單修改,其它開發(fā)板不影響。 將 4412 的 uboot 源碼下的 drivers/mmc 目錄下的 mmc.c 文件替換為壓縮包中 4412uboot 文件夾下的 mmc.c 文件即可。 請注意,其它開發(fā)板不需要修改,這個驅(qū)動文件是 4412 的源碼。 |