i.MX8MQ針對底板去掉PCIe的解決辦法
在飛凌嵌入式OKMX8MQ-C開發板上有兩個PCIe介面,對應著兩個PCIe差分時鐘,兩路PCIe分別用作了M.2介面卡槽KEYE(P37)和KEYM(P34)。
很多使用FETMX8MQ-C核心板的使用者在自制底板時會不做PCIe部分,故而不會焊PCIe的差分時鐘,等到使用出廠映象驗證底板時發現會出現無法正常啟動的問題。
今天,小編將總結常見的2種自制底板無PCIe導致的問題及其對應解決辦法以供大家參考。
1.“使用出廠映象啟動時發現無法正常啟動”
問題描述——
客戶自制底板去掉PCIe燒錄出廠映象,啟動時出現的卡死資訊:
產生原因——
PCIe影響了啟動,需要在裝置樹裡把跟PCIe有關的功能關閉。
解決辦法——
修改核心裝置樹:
viOK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts
將裝置樹中的PCIe全部從“okay”改為“disabled”,重新編譯。編譯後會在/OK8MQ-linux-sdk/images/boot下生成ok8mq-evk.dtb。
完成上述修改後重新編譯並用新的映象進行燒寫。
正常啟動後列印資訊如下(紅框中是在上述卡住位置向後繼續啟動的列印資訊):
注意:飛凌目前提供的最小系統方案也是沒有設計PCIe的,故使用者如果使用了飛凌的最小系統方案,也需要按照上述方法進行修改。
2.“使用TF卡進行燒寫時發現燒寫一半卡住”
問題描述——
客戶自制底板去掉PCIe,使用TF卡燒寫時看到命令列列印資訊在下述位置卡住:
注意:並不一定就卡在上述位置,但一定在上述列印資訊附近,不會太遠。
產生原因——
燒寫引導映象中的PCIe的啟動影響了燒寫,需要替換燒寫工具中的核心階段引導映象。
解決辦法——
首先按照問題中的方法修改核心裝置樹並編譯。進入“OK8MQ-linux-sdk/tools/update”路徑,可看到該路徑下有很多dtb檔案:
用編譯生成的“images/boot”路徑下的ok8mq-evk.dtb替換掉當前路徑下的ok8mq-evk.dtb。
執行編譯命令,生成新的燒寫工具:
使用新生成的update.itb替換掉完成制卡後TF卡中的update.itb,正常進行TF卡燒寫。
進入OK8MQ-linux-sdk/tools/sdfuse路徑,可看到新生成的燒寫工具update.itb。
注意:
-
我們的燒寫工具部分原始碼是不開源的,若您確實需要做相應更改請聯絡您的對接銷售,由我們幫您修改。
-
OTG燒寫不會因沒有PCIe而受到影響。
上述的兩個問題就是使用者在自制底板去掉PCIe時可能會遇到的兩種問題。
當然,
只設計了一路PCIe的情況也需要注意:
如果自制底板只做了一路PCIe,
只焊了一個時鐘晶片,也是會影響啟動的。那麼也需要修改裝置樹,關閉未做出的那一路PCIe;
如果自制底板只做了一路PCIe,而
差分時鐘焊的不是與介面對應的,那在命令列用lspci命令查詢就會找不到裝置。
以上就是OKMX8MQ-C平臺目前針對底板去掉PCIe存在的問題提出的解決辦法,可供大家在設計i.MX8MQ的底板時參考。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2911298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- i.MX8MQ自制底板無PCIe問題詳解MQ
- Gson針對API返回欄位型別不確定的解決辦法API型別
- 全網首個pycuda安裝指導針對2020.1以上版本安裝失敗的解決辦法
- 公寓噪音的解決辦法
- Namespoace Terminating 解決辦法
- github慢解決辦法Github
- 檔案無法粉碎解決辦法
- celery Discarding revoked task: ... 的解決辦法
- git報錯400的解決辦法Git
- Vue 下 ESLint 的 error 解決辦法VueEsLintError
- 過擬合和欠擬合以及相對應的解決辦法
- height:100%失效解決辦法
- jvm:jmap無法dump檔案的解決辦法JVM
- MySQL 與 Elasticsearch 資料不對稱問題解決辦法MySqlElasticsearch
- 分析針對EFS加密檔案無法開啟的情況資料恢復的解決方式加密資料恢復
- 記vscode無法啟動解決辦法VSCode
- idea Git Force Checkout後的解決辦法IdeaGit
- php json提交亂碼的解決辦法PHPJSON
- ORA-04031的傻瓜解決辦法(轉)
- web前端陣列塌陷的解決辦法Web前端陣列
- git出現Permission denied的解決辦法Git
- PHP提示Notice: Undefined variable的解決辦法PHPUndefined
- 方差與偏差的解釋和解決辦法
- puppeteer 安裝失敗的解決辦法
- ORA-01034: ORACLE not available的解決辦法OracleAI
- input 與 button 的問題 (空隙/不等高/對不齊)及 解決辦法
- 網站漏洞修復對phpmyadmin防止被入侵提權的解決辦法網站PHP
- 修復網站漏洞對phpmyadmin防止被入侵提權的解決辦法網站PHP
- vs 擴充套件無法安裝的解決辦法套件
- iPhone突然無法充電的解決辦法 iPhone無法充電怎麼辦iPhone
- SpringBoot 迴圈引用解決辦法Spring Boot
- 跨域問題解決辦法跨域
- SqlServer鎖表解鎖解決辦法SQLServer
- github訪問受限解決辦法Github
- VScode 更新失敗解決辦法VSCode
- npm install 失敗解決辦法NPM
- ModuleNotFoundError: No module named ‘DBUtils‘解決辦法Error
- -bash: XXX: command not found解決辦法