亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

被一個GPIO口搞死的一天

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

然后就繼續(xù)整。

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

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

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

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

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

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

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

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

因?yàn)槊總€PHY芯片對復(fù)位的時間不同

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

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

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





審核編輯:劉清

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

    關(guān)注

    113

    文章

    6914

    瀏覽量

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

    關(guān)注

    2

    文章

    330

    瀏覽量

    53624
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1308

    瀏覽量

    55519
  • MDIO
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    11506

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何控制蜂鳥E203的GPIO

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

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

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

    HTR3306 6路LED驅(qū)動器和GPIO控制器中文手冊

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

    HTR3310 10路LED驅(qū)動器和GPIO控制器中文手冊

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

    HTR3316 16路LED驅(qū)動器和GPIO控制器中文手冊

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

    使用Labview做一個485串電子秤程序

    232、485串通訊是最常見的儀器儀表通訊方式之,本文詳細(xì)介紹,用Labview編寫電子秤的485串程序.
    發(fā)表于 03-06 18:11 ?0次下載

    用Labview寫電子稱的485串程序

    關(guān)鍵詞:Labview + 串口程序 232、485串通訊是最常見的儀器儀表通訊方式之,本文詳細(xì)介紹,用Labview編寫電子秤的485串
    的頭像 發(fā)表于 03-06 09:54 ?1285次閱讀
    用Labview寫<b class='flag-5'>一</b><b class='flag-5'>個</b>電子稱的485串<b class='flag-5'>口</b>程序

    GPIO使用教程 GPIO接口應(yīng)用

    GPIO(General-Purpose Input/Output,通用輸入/輸出)接口是電子設(shè)備中的重要組成部分,主要用于控制和讀取設(shè)備的數(shù)字信號。它通過簡單的高(1)或低(0)電平來與系統(tǒng)
    的頭像 發(fā)表于 01-31 10:10 ?4851次閱讀

    一個74AHC138控制輸出的8GPIO是可以同時輸出的嗎?

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

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

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

    GPIO錯誤排查與解決

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

    如何配置GPIO引腳

    引腳是微控制器上的多功能接口,可以配置為數(shù)字輸入、數(shù)字輸出、模擬輸入/輸出或特殊功能。在數(shù)字模式下,GPIO引腳可以是高電平(邏輯1)或低電平(邏輯0)。在模擬模式下,它們可以讀
    的頭像 發(fā)表于 01-09 09:39 ?1773次閱讀

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

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

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

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

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

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