色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

被一個(gè)GPIO口搞死的一天

嵌入式與Linux那些事 ? 來源:嵌入式Linux ? 2023-06-12 14:08 ? 次閱讀

今天是新項(xiàng)目調(diào)試的第一天。

不管我怎么修改我的軟件配置,我們的PHY始終不能驅(qū)動(dòng)成功,從內(nèi)核日志里面就是讀不到PHY的ID地址。

504621c6-08d9-11ee-962d-dac502259ad0.png

我不死心,我覺得應(yīng)該不是軟件的問題,然后找老劉討論,我說「要不我們測(cè)量下波形吧,這里讀出來的ID是不對(duì)的」。

老劉說「你現(xiàn)在設(shè)置的PHY ID是多少?是不是跟我們硬件上的配置不一樣」。

因?yàn)橹罢{(diào)試過PHY芯片,我說「開機(jī)的時(shí)候,驅(qū)動(dòng)會(huì)循環(huán)掃描PHY的ID,只要PHY ID 在我們掃描的范圍內(nèi),就肯定是可以掃描出來」。

然后我找了一個(gè)帥哥,這個(gè)帥哥是一個(gè)真正的帥哥,因?yàn)樗拿掷锩嬗幸粋€(gè)特別的帥字。

我找他的原因是因?yàn)樗掷镉幸粋€(gè)硬件設(shè)備,那個(gè)硬件設(shè)備的PHY芯片和我們正在調(diào)試的硬件設(shè)備是一樣的,我想用那個(gè)設(shè)備來看看內(nèi)核的開機(jī)日志。

5062943c-08d9-11ee-962d-dac502259ad0.png

從這個(gè)日志里面看到的是可以讀到PHY的ID的。

之前在一個(gè)文章里面說過,PHY的作用就像I2S和功放芯片一樣。所以如果PHY芯片驅(qū)動(dòng)不正常,我之后的switch芯片也不能正常調(diào)試,是讓我挺頭痛的。

我跟老劉說,我們把這個(gè)板子上的MDC和MDIO飛線到那個(gè)可以的板子上讀下PHY ID吧,然后又是搗鼓了好長(zhǎng)一會(huì)時(shí)間。

讀到的ID也不正確,但是有數(shù)據(jù)出來了。

50773842-08d9-11ee-962d-dac502259ad0.png

上午的時(shí)間過得很快,反復(fù)測(cè)試了好長(zhǎng)時(shí)間,有一個(gè)帥哥就叫我去吃午飯了。

老劉剛用上了示波器,剛開始測(cè)量MDC和MDIO的信號(hào),老劉跟我說「為什么MDC的信號(hào)高電平那么低?」

然后我又開始搗鼓代碼,我從dts編譯生成的tmp文件里面不斷的查,把可能被復(fù)用的地方都注釋掉,然后再重新編譯出來燒錄進(jìn)去,因?yàn)橛布悬c(diǎn)奇怪的問題,不能直接進(jìn)入bootloader 模式燒錄,每次需要把編譯出來的boot.img打包成整個(gè)update.img再燒錄,這個(gè)過程消耗了我非常久的時(shí)間。

然后發(fā)現(xiàn)無論怎么修改,MDC的電平總是上不去,我就干脆不讓PHY驅(qū)動(dòng)控制這個(gè)GPIO口,自己寫了一個(gè)sys文件系統(tǒng)的驅(qū)動(dòng)來控制,可以用指令拉高拉低的「這個(gè)是我自己的調(diào)試驅(qū)動(dòng),正常用sysfs下的GPIO也可以」,測(cè)試一輪后發(fā)現(xiàn)還是有問題。

這個(gè)時(shí)候老劉說「可能我們這個(gè)示波器有問題,我要換一個(gè)牛逼點(diǎn)點(diǎn)示波器」。

過了一會(huì),老劉搬來一個(gè)很大的示波器,這個(gè)示波器看起來很牛逼,探頭也很新,屏幕也很大,掃描的頻率也更高。

不過遺憾的是,那個(gè)GPIO口的電平還是上不去。

不過這個(gè)時(shí)候,老劉說,臥槽,好像這兩個(gè)地方反了。

本來是MDC連接GPIO14,MDIO連接GPIO15的,老劉的原理圖上把MDC接到了GPIO15上,MDIO連接到了GPIO14上。

5086ffde-08d9-11ee-962d-dac502259ad0.png

當(dāng)然,我們想到的第一個(gè)辦法就是不要修改硬件,直接通過修改軟件配置把這兩個(gè)GPIO口換一下。

芯片原廠給出來的調(diào)試?yán)锩嬉矊懥藥讉€(gè)重要的調(diào)試手段。

50937228-08d9-11ee-962d-dac502259ad0.png

然后就開始修改GPIO口的映射,結(jié)果令人遺憾的還是不成功。

這個(gè)時(shí)候應(yīng)該去看看芯片的GPIO功能手冊(cè)的,但是時(shí)間比較晚了,老劉果斷找了一個(gè)板子把兩個(gè)GPIO 給調(diào)換了下,這調(diào)換可是廢九牛二虎之力,因?yàn)楫?dāng)時(shí)設(shè)計(jì)的時(shí)候就沒有想過會(huì)出問題,里面有一個(gè)過孔,需要把過孔的部分給斷開后再連接起來。

然后就繼續(xù)整。

老劉這個(gè)時(shí)候看起來已經(jīng)著急了,這樣的一個(gè)技術(shù)專家,被這樣的一個(gè)GPIO口給調(diào)戲了一整天,我這個(gè)時(shí)候還記得早上他說的那句「發(fā)哥,這個(gè)是小問題,今天一定能全部調(diào)通」。

我下樓去給老劉買水,我擔(dān)心一直在他旁邊他更著急了,10幾分鐘后回來,老劉把東西幾乎整得差不多了,剛才不能開機(jī)的板子也修理好了。

然后我們開機(jī),我繼續(xù)看了下PHY ID ,還是沒有讀取出來。

我們繼續(xù)拿了那個(gè)最貴的示波器看了下,這個(gè)時(shí)候波形什么的都已經(jīng)是正常的,幅值也正確了。

509f7104-08d9-11ee-962d-dac502259ad0.jpg

然后這個(gè)時(shí)候我想到了復(fù)位時(shí)序。

我說等我修改下,我把復(fù)位時(shí)序加長(zhǎng)了一些,然后開機(jī),終于看到了那個(gè)該死的PHY ID。

50b5c24c-08d9-11ee-962d-dac502259ad0.png

因?yàn)槊總€(gè)PHY芯片對(duì)復(fù)位的時(shí)間不同

我們用的這個(gè)RTL8201芯片的復(fù)位時(shí)序要求如下

50c5c7e6-08d9-11ee-962d-dac502259ad0.png

如果那個(gè)低電平小于10ms,那是不行的。





審核編輯:劉清

聲明:本文內(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)注

    113

    文章

    6281

    瀏覽量

    185652
  • PHY
    PHY
    +關(guān)注

    關(guān)注

    2

    文章

    305

    瀏覽量

    51829
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1216

    瀏覽量

    52287
  • MDIO
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    11226

原文標(biāo)題:被一個(gè)gpio口搞死的一天

文章出處:【微信號(hào):嵌入式與Linux那些事,微信公眾號(hào):嵌入式與Linux那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    一個(gè)74AHC138控制輸出的8個(gè)GPIO是可以同時(shí)輸出的嗎?

    前端DSP沒有足夠的GPIO來驅(qū)動(dòng)4個(gè)IC:TPS7A8300,現(xiàn)在想使用SN74AHC138來使GPIO由3
    發(fā)表于 01-23 06:41

    GPIO模塊與其他外設(shè)的連接方法

    在嵌入式系統(tǒng)設(shè)計(jì)中,GPIO模塊是實(shí)現(xiàn)設(shè)備與外部世界交互的關(guān)鍵接口。它們提供了種靈活的方式來控制和監(jiān)測(cè)外部設(shè)備。 GPIO模塊的基本概念 GPIO模塊由
    的頭像 發(fā)表于 01-09 09:48 ?212次閱讀

    GPIO錯(cuò)誤排查與解決

    在嵌入式系統(tǒng)和微控制器編程中,通用輸入輸出(GPIO)是最常見的接口之。然而,在使用GPIO時(shí),我們可能會(huì)遇到各種錯(cuò)誤。 1. 理解GPIO GP
    的頭像 發(fā)表于 01-09 09:46 ?259次閱讀

    藍(lán)橋杯的第一個(gè)項(xiàng)目,點(diǎn)亮個(gè)LED

    節(jié)IO簡(jiǎn)介GPIO是通用輸入/輸出端口的簡(jiǎn)稱,是STM32可控制的引腳。GPIO的引腳與外部硬件設(shè)備連接,可實(shí)現(xiàn)與外部通訊、控制外部硬件或者采集外部硬件數(shù)據(jù)的功能。每個(gè)GPIO內(nèi)部
    的頭像 發(fā)表于 01-02 21:02 ?138次閱讀
    藍(lán)橋杯的第<b class='flag-5'>一個(gè)</b>項(xiàng)目,點(diǎn)亮<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>LED

    GPIO內(nèi)部電路的原理

    前言 筆者近日在B站刷到了個(gè)視頻,使我對(duì)GPIO的I/O口內(nèi)部基本結(jié)構(gòu)以及工作原理有了恍然大明白的理解,現(xiàn)在對(duì)此做一個(gè)總結(jié),并為大家推薦該視頻Keysking 【STM32】
    的頭像 發(fā)表于 11-20 09:24 ?411次閱讀
    <b class='flag-5'>GPIO</b>內(nèi)部電路的原理

    請(qǐng)問射頻和微波分析儀等檢測(cè)設(shè)備,在辦公室檢測(cè)時(shí)對(duì)人體輻射有多大?一天8小時(shí)同屋內(nèi)工作,會(huì)造成人體傷害嗎?

    請(qǐng)問射頻和微波分析儀等檢測(cè)設(shè)備,在辦公室檢測(cè)時(shí)對(duì)人體輻射有多大?一天8小時(shí)和儀器在同屋內(nèi)工作,會(huì)造成對(duì)人體傷害嗎?
    發(fā)表于 11-12 19:30

    esp8266 GPIO會(huì)有電流泄露,如何避免?

    請(qǐng)教當(dāng)esp8266 的EN外界拉低,芯片進(jìn)入關(guān)閉狀態(tài),理論上GPIO為高阻是嗎? 為什么我的電路當(dāng)EN為低時(shí),插上usb給鋰電池
    發(fā)表于 07-08 07:48

    使用GPIO作為電源驅(qū)動(dòng)OLED

    使用GPIO作為電源驅(qū)動(dòng)OLED 以往為了增加OLED的驅(qū)動(dòng)顯示,都是用杜邦線將OLED連接到開發(fā)板必要的VDD,GND,GPIO口上。在CH32V307EVT的開發(fā)板上有
    發(fā)表于 06-23 14:20

    使用stm32f0的STOP模式,通過WFE進(jìn)入STOP后,GPIO的INT喚醒了,不應(yīng)該是GPIO的EVENT喚醒嗎?

    大家好, 最近使用F0的STOP模式遇到個(gè)問題,在通過WFE進(jìn)入STOP后,GPIO的INT喚醒了,不應(yīng)該是
    發(fā)表于 05-11 07:10

    什么是GPIOGPIO組成原理

    GPIO全拼叫General Purpose Input Output(通用輸入輸出)簡(jiǎn)稱IO也叫總線擴(kuò)展器,GPIO是由引腳,功能寄存器組成,不同的架構(gòu)中的
    發(fā)表于 04-28 12:30 ?7271次閱讀
    什么是<b class='flag-5'>GPIO</b>?<b class='flag-5'>GPIO</b>組成原理

    個(gè)STM32的IO連接到起,其中個(gè)IO燒壞的原因?

    如題:兩個(gè)STM32的IO連接到起,個(gè)單片機(jī)IO設(shè)置為輸出模式(發(fā)送數(shù)據(jù)),另一個(gè)設(shè)置為外
    發(fā)表于 04-24 07:53

    STM32G473VETx使用GPIO作為電源芯片的使能信號(hào),4個(gè)電源模塊其中個(gè)模塊不行的原因?

    在使用STM32G473VETx芯片時(shí),使用GPIO作為電源芯片的使能信號(hào)(直連,未接串阻),配置為推挽輸出,電源芯片實(shí)際需最低min1.2V和1.4V高電平,低電平均為max0.4V,有4個(gè)這樣
    發(fā)表于 04-08 06:01

    寧德時(shí)代市值一天暴增千億

    寧德時(shí)代市值一天暴增千億 就在業(yè)界討論AI的盡頭是光伏和儲(chǔ)能之時(shí),摩根士丹利上調(diào)寧德時(shí)代的評(píng)級(jí)至“超配”,并將寧德時(shí)代的目標(biāo)價(jià)上調(diào)14%,寧德時(shí)代的股價(jià)迎來久違的大漲,寧德時(shí)代市值一天暴增千億。 3
    的頭像 發(fā)表于 03-12 17:43 ?1017次閱讀

    CY7C63813設(shè)置了4個(gè)GPIO響應(yīng),調(diào)試發(fā)現(xiàn)每個(gè)周期GPIO才響應(yīng)次中斷,如何讓GPIO口重復(fù)響應(yīng)中斷呢?

    CY7C63813設(shè)置了4個(gè)GPIO響應(yīng),調(diào)試發(fā)現(xiàn)每個(gè)周期GPIO才響應(yīng)次中斷,如何讓GPIO
    發(fā)表于 02-22 07:41

    GD32 MCU如何將燒錄配置為GPIO使用?

    如果大家在進(jìn)行GD32 MCU開發(fā)時(shí)發(fā)現(xiàn)GPIO引腳使用不足,可以嘗試將燒錄配置為GPIO使用,這樣就可以多出幾個(gè)引腳使用,但使用的時(shí)候如何配置以及有哪些注意事項(xiàng),本視頻將會(huì)為大家進(jìn)行解答。
    的頭像 發(fā)表于 02-20 10:18 ?2066次閱讀
    GD32 MCU如何將燒錄<b class='flag-5'>口</b>配置為<b class='flag-5'>GPIO</b>使用?
    主站蜘蛛池模板: 99精品AV无码一区二区 | 99精品国产在热 | 嗯好舒服嗯好大好猛好爽 | 国产ts调教| 秋霞网在线伦理免费 | 亚洲AV无码专区国产精品麻豆 | 亚洲高清在线精品一区 | 久久99国产亚洲高清观着 | 亚洲天堂一区二区三区 | 暖暖免费观看日本在线视频 | 亚洲香蕉网久久综合影院 | 麻豆出品国产AV在线观看 | 日本一本在线播放 | 亚洲国产免费观看视频 | 亚洲一区二区三区高清网 | 在线观看免费国产成人软件 | 國產日韓亞洲精品AV | 亚洲AV精品一区二区三区不卡 | 99在线精品国自产拍 | 精品国内自产拍在线观看视频 | 奇米色偷偷| FREE性丰满白嫩白嫩的HD | 亚洲精品不卡视频 | 开心色99xxxx开心色 | 波多野结衣 熟女 | nxgx69日本护士 | 亚洲精品国产自在在线观看 | 99re5久久热在线 | 午夜福利不卡片在线播放免费 | 欧美wwwvideos在线观看 | 久久亚洲AV无码精品午色夜麻豆 | 人妻少妇偷人精品无码洋洋AV | 亚洲中文字幕一二三四区苍井空 | 野花日本免费完整版高清版动漫 | 日本毛片久久国产精品 | 二级毛片免费观看全程 | 玛雅成人网 | 伊人久久大香线蕉综合99 | 亚洲国产精品无码中文字满 | 俄罗斯6一12呦女精品 | 亚洲精品一卡二卡三卡四卡2021 |