国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

被一個GPIO口搞死的一天

嵌入式與Linux那些事 ? 來源:嵌入式Linux ? 2023-06-12 14:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天是新項目調試的第一天。

不管我怎么修改我的軟件配置,我們的PHY始終不能驅動成功,從內核日志里面就是讀不到PHY的ID地址。

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

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

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

因為之前調試過PHY芯片,我說「開機的時候,驅動會循環掃描PHY的ID,只要PHY ID 在我們掃描的范圍內,就肯定是可以掃描出來」。

然后我找了一個帥哥,這個帥哥是一個真正的帥哥,因為他的名字里面有一個特別的帥字。

我找他的原因是因為他手里有一個硬件設備,那個硬件設備的PHY芯片和我們正在調試的硬件設備是一樣的,我想用那個設備來看看內核的開機日志。

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

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

之前在一個文章里面說過,PHY的作用就像I2S和功放芯片一樣。所以如果PHY芯片驅動不正常,我之后的switch芯片也不能正常調試,是讓我挺頭痛的。

我跟老劉說,我們把這個板子上的MDC和MDIO飛線到那個可以的板子上讀下PHY ID吧,然后又是搗鼓了好長一會時間。

讀到的ID也不正確,但是有數據出來了。

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

上午的時間過得很快,反復測試了好長時間,有一個帥哥就叫我去吃午飯了。

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

然后我又開始搗鼓代碼,我從dts編譯生成的tmp文件里面不斷的查,把可能被復用的地方都注釋掉,然后再重新編譯出來燒錄進去,因為硬件有點奇怪的問題,不能直接進入bootloader 模式燒錄,每次需要把編譯出來的boot.img打包成整個update.img再燒錄,這個過程消耗了我非常久的時間。

然后發現無論怎么修改,MDC的電平總是上不去,我就干脆不讓PHY驅動控制這個GPIO口,自己寫了一個sys文件系統的驅動來控制,可以用指令拉高拉低的「這個是我自己的調試驅動,正常用sysfs下的GPIO也可以」,測試一輪后發現還是有問題。

這個時候老劉說「可能我們這個示波器有問題,我要換一個牛逼點點示波器」。

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

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

不過這個時候,老劉說,臥槽,好像這兩個地方反了。

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

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

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

芯片原廠給出來的調試里面也寫了幾個重要的調試手段。

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

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

這個時候應該去看看芯片的GPIO功能手冊的,但是時間比較晚了,老劉果斷找了一個板子把兩個GPIO 給調換了下,這調換可是廢九牛二虎之力,因為當時設計的時候就沒有想過會出問題,里面有一個過孔,需要把過孔的部分給斷開后再連接起來。

然后就繼續整。

老劉這個時候看起來已經著急了,這樣的一個技術專家,被這樣的一個GPIO口給調戲了一整天,我這個時候還記得早上他說的那句「發哥,這個是小問題,今天一定能全部調通」。

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

然后我們開機,我繼續看了下PHY ID ,還是沒有讀取出來。

我們繼續拿了那個最貴的示波器看了下,這個時候波形什么的都已經是正常的,幅值也正確了。

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

然后這個時候我想到了復位時序。

我說等我修改下,我把復位時序加長了一些,然后開機,終于看到了那個該死的PHY ID。

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

因為每個PHY芯片對復位的時間不同

我們用的這個RTL8201芯片的復位時序要求如下

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

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





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 示波器
    +關注

    關注

    113

    文章

    7075

    瀏覽量

    196073
  • PHY
    PHY
    +關注

    關注

    2

    文章

    335

    瀏覽量

    54081
  • GPIO
    +關注

    關注

    16

    文章

    1328

    瀏覽量

    56226
  • MDIO
    +關注

    關注

    0

    文章

    14

    瀏覽量

    11564

原文標題:被一個gpio口搞死的一天

文章出處:【微信號:嵌入式與Linux那些事,微信公眾號:嵌入式與Linux那些事】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式新手必看!GPIO調試從0到1:計算、操作、排錯全指南

    在嵌入式開發中,GPIO(通用輸入輸出口)是最基礎也最常用的硬件接口 —— 小到控制顆 LED 亮滅、讀取按鍵狀態,大到驅動傳感器、控制外設,都離不開
    的頭像 發表于 02-01 16:55 ?2542次閱讀
    嵌入式新手必看!<b class='flag-5'>GPIO</b>調試從0到1:計算、操作、排錯全指南

    【MCU學習】GPIO詳解

    本實驗通過“小實驗框架 GPIO Mode Lab”,在同一個 GPIO 引腳上依次配置不同模式,并用 ADC 探頭測量電壓、同時讀取數
    的頭像 發表于 01-24 11:45 ?3575次閱讀
    【MCU學習】<b class='flag-5'>GPIO</b>詳解

    ARM Cortex M3系列的GPIO介紹

    DMA控制器可直接操作APB外設,而無需等待總線寫操作完成。 M3數字I/O功能:高速GPIO,其寄存器移到外設AHB總線,可以字節,半字和字尋址。 位電平置位和清零寄存器允許單指令置位和清零一
    發表于 01-22 06:42

    【乾芯QXS320F開發板試用】拿板第一天:環境準備

    驅動。 根據原理圖,板載LED在GPIO8. 修改宏定義為LED4 8 (這里例程里是5,我也不知道咋回事,沒看原理圖之前還以為程序不能用) 再點燒錄就解決了。 總之 第一天點亮了LED,也踩了
    發表于 12-08 17:27

    如何控制蜂鳥E203的GPIO

    _enable_output(). 要控制gpio,首先要使能輸入或者輸出,然后才能讀或者寫。 1、例如要讀GPIOB的0號接口,把GPIO
    發表于 10-22 07:36

    【EK-RA6E2開發指南】GPIO使用

    我相信大多數學習嵌入式的朋友學習單片機的第一個程序都是點燈,畢竟點燈簡單嘛,操作下GPIO即可。當然,本教程的第一個應用也從GPIO的使用開始。
    的頭像 發表于 09-23 18:13 ?3427次閱讀
    【EK-RA6E2開發指南】<b class='flag-5'>GPIO</b>使用

    vision board GPIO輸出電壓不對是什么原因導致的?

    在RASC里配置p510引腳輸出模式,initial high后電壓只有0.9v,換了vision board后還是只有0.9,此前一天c電壓正常
    發表于 09-18 07:09

    深度揭秘GPIO的三重身份:從普通IO到AGPIO與Wakeup IO

    分享Air780EPM的GPIO使用注意事項及硬件設計要點,產品手冊、原理圖、應用示例等資料持續更新開放。 GPIO復用表及LuatIO配置工具 Air780EPM模組共支持38
    的頭像 發表于 08-11 13:44 ?731次閱讀
    深度揭秘<b class='flag-5'>GPIO</b>的三重身份:從普通IO到AGPIO與Wakeup IO

    FX3是否支持配置GPIO引腳作為弱下拉的輸入?

    FX3是否支持配置GPIO引腳作為弱下拉的輸入?如果可以的話,這將如何完成?#CYUSB3014
    發表于 08-11 07:47

    股價一天暴漲倍,全球碳化硅龍頭起死回生?

    。 ? ? 此次大漲的主要原因是Wolfspeed任命了新的首席財務官(CFO)Gregor van Issum。他將于2025年9月1日正式上任,并將主導公司的財務重組工作。 ? Gregor
    的頭像 發表于 07-09 00:16 ?4657次閱讀
    股價<b class='flag-5'>一天</b>暴漲<b class='flag-5'>一</b>倍,全球碳化硅龍頭起死回生?

    vision board GPIO輸出電壓不對是什么原因導致的?

    在RASC里配置p510引腳輸出模式,initial high后電壓只有0.9v,換了vision board后還是只有0.9,此前一天c電壓正常
    發表于 06-10 08:24

    HTR3306 6路LED驅動器和GPIO控制器中文手冊

    或輸出。? ? 通電后,6IO端口配置默認為GPIO輸出,默認狀態根據AD0和AD1決定。所有配置為輸入的IO端口都會持續監控狀態變化,并具有8us的防抖動時間,IO的變化由INTN輸出指示。當
    發表于 04-14 17:41 ?1次下載

    HTR3310 10路LED驅動器和GPIO控制器中文手冊

    輸入或輸出。? ? ?通電后,10IO端口配置默認為GPIO輸出,默認狀態根據AD0和AD1決定。所有配置為輸入的IO端口都會持續監控狀態變化,并具有8us的防抖動時間,IO的變化由INTN輸出指示。當
    發表于 04-14 16:31 ?2次下載

    HTR3316 16路LED驅動器和GPIO控制器中文手冊

    輸入或輸出。? ? ?通電后,16IO端口配置默認為GPIO輸出,默認狀態根據AD0和AD1決定。所有配置為輸入的IO端口都會持續監控狀態變化,并具有8us的防抖動時間,IO的變化由INTN輸出指示。當
    發表于 04-11 17:51 ?2次下載

    單片機學習之GPIO

    今日分享如何通過手冊理解單片機IO知識點含義解釋:1.GPIO:同我們常說的IO樣,GeneralPurposeInputOutput(通用輸入/輸出)簡稱為GPIO,每個
    發表于 03-26 14:53 ?0次下載