在飛凌嵌入式OKMX8MQ-C開發(fā)板上有兩個(gè)PCIe接口,對(duì)應(yīng)著兩個(gè)PCIe差分時(shí)鐘,兩路PCIe分別用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。 很多使用FETMX8MQ-C核心板的用戶在自制底板時(shí)會(huì)不做PCIe部分,故而不會(huì)焊PCIe的差分時(shí)鐘,等到使用出廠鏡像驗(yàn)證底板時(shí)發(fā)現(xiàn)會(huì)出現(xiàn)無(wú)法正常啟動(dòng)的問(wèn)題。 今天,小編將總結(jié)常見的2種自制底板無(wú)PCIe導(dǎo)致的問(wèn)題及其對(duì)應(yīng)解決辦法以供大家參考。 1.“使用出廠鏡像啟動(dòng)時(shí)發(fā)現(xiàn)無(wú)法正常啟動(dòng)” 問(wèn)題描述—— 客戶自制底板去掉PCIe燒錄出廠鏡像,啟動(dòng)時(shí)出現(xiàn)的卡死信息: 編輯切換為居中 添加圖片注釋,不超過(guò) 140 字(可選) 產(chǎn)生原因—— PCIe影響了啟動(dòng),需要在設(shè)備樹里把跟PCIe有關(guān)的功能關(guān)閉。 解決辦法—— 修改內(nèi)核設(shè)備樹: viOK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts 編輯切換為居中 添加圖片注釋,不超過(guò) 140 字(可選) 將設(shè)備樹中的PCIe全部從“okay”改為“disabled”,重新編譯。編譯后會(huì)在/OK8MQ-linux-sdk/images/boot下生成ok8mq-evk.dtb。 完成上述修改后重新編譯并用新的鏡像進(jìn)行燒寫。 正常啟動(dòng)后打印信息如下(紅框中是在上述卡住位置向后繼續(xù)啟動(dòng)的打印信息): 編輯切換為居中 添加圖片注釋,不超過(guò) 140 字(可選) 注意:飛凌目前提供的最小系統(tǒng)方案也是沒(méi)有設(shè)計(jì)PCIe的,故用戶如果使用了飛凌的最小系統(tǒng)方案,也需要按照上述方法進(jìn)行修改。 2.“使用TF卡進(jìn)行燒寫時(shí)發(fā)現(xiàn)燒寫一半卡住” 問(wèn)題描述—— 客戶自制底板去掉PCIe,使用TF卡燒寫時(shí)看到命令行打印信息在下述位置卡住: 編輯切換為居中 添加圖片注釋,不超過(guò) 140 字(可選) 注意:并不一定就卡在上述位置,但一定在上述打印信息附近,不會(huì)太遠(yuǎn)。 產(chǎn)生原因—— 燒寫引導(dǎo)鏡像中的PCIe的啟動(dòng)影響了燒寫,需要替換燒寫工具中的內(nèi)核階段引導(dǎo)鏡像。 解決辦法—— 首先按照問(wèn)題中的方法修改內(nèi)核設(shè)備樹并編譯。進(jìn)入“OK8MQ-linux-sdk/tools/update”路徑,可看到該路徑下有很多dtb文件: 編輯切換為居中 添加圖片注釋,不超過(guò) 140 字(可選) 用編譯生成的“images/boot”路徑下的ok8mq-evk.dtb替換掉當(dāng)前路徑下的ok8mq-evk.dtb。 執(zhí)行編譯命令,生成新的燒寫工具: 編輯切換為居中 添加圖片注釋,不超過(guò) 140 字(可選) 使用新生成的update.itb替換掉完成制卡后TF卡中的update.itb,正常進(jìn)行TF卡燒寫。 進(jìn)入OK8MQ-linux-sdk/tools/sdfuse路徑,可看到新生成的燒寫工具update.itb。 注意:
上述的兩個(gè)問(wèn)題就是用戶在自制底板去掉PCIe時(shí)可能會(huì)遇到的兩種問(wèn)題。 當(dāng)然,只設(shè)計(jì)了一路PCIe的情況也需要注意: 如果自制底板只做了一路PCIe,只焊了一個(gè)時(shí)鐘芯片,也是會(huì)影響啟動(dòng)的。那么也需要修改設(shè)備樹,關(guān)閉未做出的那一路PCIe; 如果自制底板只做了一路PCIe,而差分時(shí)鐘焊的不是與接口對(duì)應(yīng)的,那在命令行用lspci命令查詢就會(huì)找不到設(shè)備。 以上就是OKMX8MQ-C平臺(tái)目前針對(duì)底板去掉PCIe存在的問(wèn)題提出的解決辦法,可供大家在設(shè)計(jì)i.MX8MQ的底板時(shí)參考。 |