chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RK3588平臺(tái)SSD PCIE調(diào)試踩坑記:不插SSD就死機(jī)?兩步搞定引腳與驅(qū)動(dòng)配置

jf_44130326 ? 來源:Linux1024 ? 2026-02-02 17:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近看好多人因?yàn)閜cie這個(gè)問題困擾,遂再更一版關(guān)于pcie調(diào)試的文章。

嵌入式開發(fā)中,PCIE接口SSD因高速讀寫特性,常作為RK瑞芯微)平臺(tái)的核心存儲(chǔ)方案。但調(diào)試時(shí)難免遇到詭異問題——比如插入SSD時(shí)一切正常,不插SSD系統(tǒng)就直接起不來,甚至改了配置后還偶發(fā)啟動(dòng)失敗。

今天結(jié)合實(shí)際調(diào)試文檔,拆解這兩個(gè)典型坑的排查過程與解決方案,幫你避開PCIe SSD調(diào)試的隱形陷阱。

一、初始坑:不插SSD,系統(tǒng)直接罷工

wKgZPGkanJeAdJX4AAEd8aB7PPo931.png


1.現(xiàn)象:插與不插,兩種命運(yùn)

?正常場(chǎng)景:插入SSD后,系統(tǒng)啟動(dòng)流暢,SSD能被正確識(shí)別并正常讀寫;

?異常場(chǎng)景:拔掉SSD,系統(tǒng)卡在啟動(dòng)階段,無報(bào)錯(cuò)日志,直接死機(jī)。

2.排查:從時(shí)鐘定位到引腳配置

一開始懷疑電源PCIe鏈路問題,逐一排查后發(fā)現(xiàn)關(guān)鍵線索:

?測(cè)量PCIe相關(guān)電壓(如vpcie3v3):無論是否插SSD,電壓均穩(wěn)定在3.3V,排除電源故障;

?示波器測(cè)PCIe時(shí)鐘信號(hào)不插SSD時(shí),時(shí)鐘引腳無輸出,插入后時(shí)鐘恢復(fù)正常——問題出在時(shí)鐘使能的控制邏輯。

進(jìn)一步核對(duì)DTS(設(shè)備樹)配置,發(fā)現(xiàn)核心控制引腳PCIE30X4_CLKREQn_M1(對(duì)應(yīng)GPIO4 RK_PB4)的配置存在問題:

//初始錯(cuò)誤配置

pcie20x1_0_clkreqn_m1: pcie20x1-0-clkreqn-m1 {

rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; //浮空狀態(tài)

};

&pcfg_pull_none表示引腳處于浮空狀態(tài):插入SSD時(shí),SSD會(huì)主動(dòng)拉低該引腳觸發(fā)時(shí)鐘輸出;不插SSD時(shí),引腳電平懸空,無法觸發(fā)時(shí)鐘,導(dǎo)致系統(tǒng)啟動(dòng)卡住。

3.解決方案:浮空下拉,讓引腳有個(gè)準(zhǔn)信

只需修改引腳的拉取狀態(tài),將浮空改為下拉,確保即使不插SSD,引腳也能維持穩(wěn)定電平以觸發(fā)時(shí)鐘:

//修改后正確配置

pcie20x1_0_clkreqn_m1: pcie20x1-0-clkreqn-m1 {

rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; //下拉狀態(tài)

};

重新編譯燒錄后測(cè)試:不插SSD時(shí),時(shí)鐘信號(hào)正常輸出,系統(tǒng)順利啟動(dòng)——第一個(gè)坑解決!

二、二次坑:改了下拉,仍偶發(fā)死機(jī)

1.新現(xiàn)象:偶爾啟動(dòng)失敗,無規(guī)律可循

解決初始問題后,測(cè)試中發(fā)現(xiàn)新情況:系統(tǒng)約有10%概率啟動(dòng)失敗,重啟幾次又能恢復(fù),無固定觸發(fā)條件,排查難度更高。

2.根因:驅(qū)動(dòng)加載干擾引腳電平

再次核對(duì)DTS,發(fā)現(xiàn)&pcie3x4PCIe控制器節(jié)點(diǎn))中,將之前修改的引腳配置關(guān)聯(lián)到了驅(qū)動(dòng):

//存在問題的PCIe控制器配置

&pcie3x4 {

reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;

vpcie3v3-supply = <&vcc3v3_pcie30>;

pinctrl-names = "default";

pinctrl-0 = <&pcie20x1_0_clkreqn_m1>; //引腳關(guān)聯(lián)驅(qū)動(dòng)

status = "okay";

};

問題在于:驅(qū)動(dòng)加載時(shí),會(huì)動(dòng)態(tài)調(diào)整關(guān)聯(lián)引腳的電平,導(dǎo)致PCIE30X4_CLKREQn_M1引腳有時(shí)高、有時(shí)低,電平不確定性觸發(fā)PCIe鏈路初始化失敗——這也是啟動(dòng)失敗無規(guī)律的原因。

查閱RK官方原理圖與配置說明后確認(rèn):該引腳無需關(guān)聯(lián)PCIe驅(qū)動(dòng),需獨(dú)立控制以保證電平穩(wěn)定。

3.終局解決方案:刪關(guān)聯(lián)+獨(dú)立配置,徹底穩(wěn)電平

分兩步修改,徹底隔絕驅(qū)動(dòng)對(duì)引腳的干擾:

步驟1:刪除PCIe驅(qū)動(dòng)與引腳的關(guān)聯(lián)

修改&pcie3x4節(jié)點(diǎn),注釋或刪除pinctrl-0配置,斷開驅(qū)動(dòng)與引腳的綁定:

//修改后的PCIe控制器配置

&pcie3x4 {

reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;

vpcie3v3-supply = <&vcc3v3_pcie30>;

pinctrl-names = "default";

//注釋關(guān)聯(lián)配置:避免驅(qū)動(dòng)干擾引腳電平

// pinctrl-0 = <&pcie20x1_0_clkreqn_m1>;

status = "okay";

};

步驟2:?jiǎn)为?dú)配置引腳為固定電平調(diào)節(jié)器

新增pcie3x4_clkreqn_m1節(jié)點(diǎn),將引腳配置為regulator-fixed(固定調(diào)節(jié)器)類型,強(qiáng)制拉低并確保啟動(dòng)階段穩(wěn)定:

//獨(dú)立引腳配置(關(guān)鍵)

pcie3x4_clkreqn_m1: pcie3x4-clkreqn-m1{

compatible = "regulator-fixed"; //固定電平類型

gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_LOW>; //低電平有效

pinctrl-names = "default";

pinctrl-0 = <&pcie20x1_0_clkreqn_m1>; //引用下拉配置

regulator-name = "pcie3x4_clkreqn_m1";

enable-active-low; //使能信號(hào)低電平有效

start-delays-us = <5000>; //啟動(dòng)延遲5000微秒(避免沖擊)

off-on-delay-us = <5000>; //切換延遲5000微秒

regulator-always-on; //引腳始終保持使能

regulator-boot-on; //系統(tǒng)啟動(dòng)階段即開啟

};

?start-delays-usoff-on-delay-us:避免引腳電平突變導(dǎo)致的鏈路誤判;

?regulator-always-onregulator-boot-on:確保從系統(tǒng)上電到啟動(dòng)完成,引腳始終維持穩(wěn)定低電平。

修改后經(jīng)過百次啟動(dòng)測(cè)試:無論是否插SSD,系統(tǒng)均100%正常啟動(dòng),偶發(fā)故障徹底解決!

三、調(diào)試核心要點(diǎn):3個(gè)避坑準(zhǔn)則

1.引腳拉取狀態(tài):拒絕浮空,優(yōu)先下拉

PCIeCLKREQn類控制引腳(如本文的GPIO4 RK_PB4),需避免&pcfg_pull_none(浮空),不插設(shè)備時(shí)會(huì)因電平不確定斷時(shí)鐘,下拉(&pcfg_pull_down)是更安全的選擇。

2.驅(qū)動(dòng)關(guān)聯(lián):控制引腳別綁驅(qū)動(dòng)

PCIe核心數(shù)據(jù)引腳(如時(shí)鐘控制、復(fù)位),無需在&pcie3x4等控制器節(jié)點(diǎn)中通過pinctrl-0關(guān)聯(lián)驅(qū)動(dòng),否則驅(qū)動(dòng)加載會(huì)干擾電平穩(wěn)定性。

3.獨(dú)立配置:用regulator-fixed穩(wěn)電平

關(guān)鍵控制引腳建議按固定調(diào)節(jié)器配置,加上延遲參數(shù)(如5000us)和始終開啟屬性,從硬件層面杜絕電平波動(dòng)。

結(jié)尾

PCIe調(diào)試常因引腳電平”“驅(qū)動(dòng)關(guān)聯(lián)這類細(xì)節(jié)卡殼,看似詭異的故障,往往藏在DTS的幾行配置里。你在RK平臺(tái)調(diào)試PCIe設(shè)備時(shí),還遇到過哪些?歡迎在評(píng)論區(qū)分享,一起避坑提效!



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5196

    文章

    20323

    瀏覽量

    332219
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    3085

    瀏覽量

    122101
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    2107

    瀏覽量

    55495
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    529

    瀏覽量

    7200
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RK3588編解碼盒子之RTL8211FS-CG光口調(diào)試

    本文是基于RK3588平臺(tái),SDK版本:RK3588_ANDROID12.0 RTL8211FS-CG光口調(diào)試總結(jié)。
    的頭像 發(fā)表于 06-10 09:00 ?4526次閱讀
    <b class='flag-5'>RK3588</b>編解碼盒子之RTL8211FS-CG光口<b class='flag-5'>調(diào)試</b>

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI之屏參配置

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI之屏參配置
    的頭像 發(fā)表于 06-10 10:36 ?4443次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕<b class='flag-5'>調(diào)試</b>筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI之屏參<b class='flag-5'>配置</b>

    求一種基于RK3588實(shí)現(xiàn)SPI-NOR大容量存儲(chǔ)方案

    1、基于RK3588S自研平板方案實(shí)現(xiàn)硬件存儲(chǔ)CPU: RK3588SDDR: LPDDR5 8GBNOR: SPI接口 32MB容量SSDPCIE接口 256GB容量軟件版本要求
    發(fā)表于 05-23 14:20

    ROC-RK3588S-PC開發(fā)板支持SATA協(xié)議的SSD使用

    簡(jiǎn)介ROC-RK3588S-PC 開發(fā)板上有 1 個(gè) M.2 接口??梢攒浖?b class='flag-5'>配置成 M.2 SATA3.0 接口,支持 SATA 協(xié)議的 SSD 使用,也可以軟件配置成 M.2
    發(fā)表于 07-12 17:44

    RK3588S(Android 12) M.2接口的配置與使用手冊(cè)指南

    1、ROC-RK3588S-PC (Android 12) M.2接口的配置與使用ROC-RK3588S-PC 開發(fā)板上有 1 個(gè) M.2 接口:可以軟件配置成 M.2 SATA3.0
    發(fā)表于 08-18 17:32

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI
    的頭像 發(fā)表于 06-10 10:31 ?7469次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕<b class='flag-5'>調(diào)試</b>筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI

    RK3588RK3399的區(qū)別

    存儲(chǔ)器,并且支持PCIe4.0和USB 3.2 Gen1接口,可實(shí)現(xiàn)高速傳輸和多設(shè)備連接。在AI方面,RK3588支持多種神經(jīng)網(wǎng)絡(luò),如ResNet、SSD、YOLO、FCN等,并可以通過開放的SDK進(jìn)行
    的頭像 發(fā)表于 08-15 17:04 ?9638次閱讀

    Banana Pi BPI-W3 RK3588平臺(tái)驅(qū)動(dòng)調(diào)試篇 [ PCIE篇一 ] - PCIE的開發(fā)指南

    RK3588共有5個(gè)PCIe的控制器,硬件IP是?樣的,配置?樣,其中?個(gè)4Lane DM模式可以?持作為EP使?,另外?個(gè)2Lane和3個(gè)1Lane控制器均只能作為RC使?。
    的頭像 發(fā)表于 11-02 09:22 ?4160次閱讀
    Banana Pi BPI-W3 <b class='flag-5'>RK3588</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>調(diào)試</b>篇 [ <b class='flag-5'>PCIE</b>篇一 ] - <b class='flag-5'>PCIE</b>的開發(fā)指南

    Banana Pi BPI-W3 RK3588平臺(tái)驅(qū)動(dòng)調(diào)試篇 [ PCIE篇二 ] - PCIE的開發(fā)指南

    Banana Pi BPI-W3 RK3588平臺(tái)驅(qū)動(dòng)調(diào)試篇 [ PCIE篇 ] - PCIE
    的頭像 發(fā)表于 11-02 09:24 ?1867次閱讀
    Banana Pi BPI-W3 <b class='flag-5'>RK3588</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>調(diào)試</b>篇 [ <b class='flag-5'>PCIE</b>篇二 ] - <b class='flag-5'>PCIE</b>的開發(fā)指南

    RK3588 PCIe設(shè)備識(shí)別失敗?一招避“非法Class”陷阱

    前言:在RK3588平臺(tái)開發(fā)過程中,你是否遇到過這樣的窘境:明明PCIe總線上掛好了網(wǎng)卡模塊,lspci能識(shí)別到芯片,可驅(qū)動(dòng)就是加載失敗,排查半天找不到關(guān)鍵問題?別慌!本文將帶你一
    的頭像 發(fā)表于 08-29 08:32 ?1552次閱讀
    <b class='flag-5'>RK3588</b> <b class='flag-5'>PCIe</b>設(shè)備識(shí)別失???一招避<b class='flag-5'>坑</b>“非法Class”陷阱

    開發(fā)者必備,10 分鐘搞定 RK3588 PCIE 拆分!

    前言:在嵌入式開發(fā)中,PCIe接口的靈活配置直接影響設(shè)備擴(kuò)展能力與性能發(fā)揮。RK3588作為旗艦芯片,其PCIe拆分機(jī)制更是讓硬件設(shè)計(jì)與軟件調(diào)試
    的頭像 發(fā)表于 11-13 08:31 ?1309次閱讀
    開發(fā)者必備,10 分鐘<b class='flag-5'>搞定</b> <b class='flag-5'>RK3588</b> <b class='flag-5'>PCIE</b> 拆分!

    RK3588平臺(tái)雙存儲(chǔ)(SPI+PCIE)OTA升級(jí)方案教學(xué)文檔

    在嵌入式設(shè)備中,單一存儲(chǔ)介質(zhì)可能存在容量限制或可靠性風(fēng)險(xiǎn)。RK3588 平臺(tái)的雙存儲(chǔ) OTA 升級(jí)方案支持SPI(如 SPI NAND/NOR)與 PCIE 存儲(chǔ)(如 PCIE
    的頭像 發(fā)表于 02-01 16:46 ?1404次閱讀
    <b class='flag-5'>RK3588</b><b class='flag-5'>平臺(tái)</b>雙存儲(chǔ)(SPI+<b class='flag-5'>PCIE</b>)OTA升級(jí)方案教學(xué)文檔

    一文搞懂?RK3588 PCIe:從硬件資源到拆分配置?+?避指南(含腦圖)

    資源解析、 3? 大拆分方案實(shí)戰(zhàn)、關(guān)鍵配置步驟及避要點(diǎn),附帶可視化腦圖,助力開發(fā)者快速落地? PCIe? 相關(guān)項(xiàng)目。 ? ? ? 一、 RK3588
    的頭像 發(fā)表于 11-20 18:18 ?3358次閱讀
    一文搞懂?<b class='flag-5'>RK3588</b> <b class='flag-5'>PCIe</b>:從硬件資源到拆分<b class='flag-5'>配置</b>?+?避<b class='flag-5'>坑</b>指南(含腦圖)

    實(shí)戰(zhàn)復(fù)盤:RK3588 SPI+PCIe3x4方案啟動(dòng)修復(fù),從節(jié)點(diǎn)配置驅(qū)動(dòng)適配全解析

    ? ? ? 在 RK3588 嵌入式項(xiàng)目中, “ 接口配置匹配 ” 是高頻點(diǎn) —— 近期 基于 linux6.1 內(nèi)核
    的頭像 發(fā)表于 01-08 10:24 ?148次閱讀
    實(shí)戰(zhàn)復(fù)盤:<b class='flag-5'>RK3588</b> SPI+<b class='flag-5'>PCIe</b>3x4方案啟動(dòng)修復(fù),從節(jié)點(diǎn)<b class='flag-5'>配置</b>到<b class='flag-5'>驅(qū)動(dòng)</b>適配全解析

    保姆級(jí)教程!RK3588 Linux6.1?固件簽名完整實(shí)現(xiàn)方案(不含rootfs)

    內(nèi)核)上實(shí)操固件簽名時(shí),了不少官方文檔的,經(jīng)過反復(fù)調(diào)試終于打通全流程。今天就把這份實(shí)戰(zhàn)經(jīng)驗(yàn)整理成保姆級(jí)教程,從配置到問題排查,一步步
    的頭像 發(fā)表于 01-14 17:21 ?1485次閱讀
    保姆級(jí)教程!<b class='flag-5'>RK3588</b> Linux6.1?固件簽名完整實(shí)現(xiàn)方案(不含rootfs)