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