色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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)不再提示

基于DWC_ether_qos的以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-軟復(fù)位介紹與問(wèn)題案例

嵌入式USB開(kāi)發(fā) ? 來(lái)源:嵌入式USB開(kāi)發(fā) ? 作者:嵌入式USB開(kāi)發(fā) ? 2023-09-02 09:17 ? 次閱讀

一.前言

一般模塊都會(huì)有軟復(fù)位的功能,軟復(fù)位在驅(qū)動(dòng)編寫中很重要。一般初始化時(shí)執(zhí)行軟復(fù)位使得模塊進(jìn)入確定的初始狀態(tài)以提高可靠性,異常時(shí)也可以重新初始化來(lái)恢復(fù),所以軟復(fù)位在驅(qū)動(dòng)中一般是必須要做的動(dòng)作。對(duì)應(yīng)復(fù)雜的IP其復(fù)位過(guò)程其實(shí)是很復(fù)雜的,有很多前提和依賴,對(duì)于驅(qū)動(dòng)編寫來(lái)說(shuō)也有一些需要注意的地方甚至是有一些坑,所以本篇單獨(dú)來(lái)講講DWC_ether_qos的軟復(fù)位。如果你有遇到DWC_ether_qos軟復(fù)位的問(wèn)題,建議可以看看本文章,說(shuō)不定就有你的問(wèn)題的答案!

二.DWC_ether_qos的軟復(fù)位

軟復(fù)位的作用簡(jiǎn)單的可以總結(jié)為復(fù)位控制邏輯(比如狀態(tài)機(jī)等),和相關(guān)的資源(比如寄存器值恢復(fù)到默認(rèn)狀態(tài)等)。

DWC_ether_qos的軟復(fù)位參考手冊(cè)P1013,偏移0x1000的寄存器DMA_Mode寄存器的位0,SWR的解釋。

圖片

從以上描述可以看出其實(shí)信息量是很多的,換句話說(shuō)需要注意的地方是很多的,以下做一個(gè)總結(jié)

1.觸發(fā)軟復(fù)位,MAC和DMA控制器會(huì)復(fù)位DMA,MTL,MAC這幾個(gè)子系統(tǒng)的內(nèi)部邏輯和相關(guān)寄存器。

2.該位是自清零的,即軟件寫1觸發(fā)軟復(fù)位,硬件復(fù)位完成清零。

3.必須等到DWC_ether_qos所有的時(shí)鐘域都完成復(fù)位才會(huì)完成,才會(huì)清零該位。

4.該位為0之前,即為1時(shí)不能寫DWC_ether_qos的任何寄存器。

  1. 該位置位后,不能立馬去回讀該位,需要等待4個(gè)CSR周期后才能讀 ,因?yàn)闋顟B(tài)更新需要時(shí)間(具體的原因就涉及具體的總線協(xié)議了)。這里是驅(qū)動(dòng)編寫的一個(gè)容易掉坑的地方需要注意。立即讀可能讀出0認(rèn)為復(fù)位完成了(實(shí)際復(fù)位還未完成)馬上去操作其他寄存器會(huì)導(dǎo)致不可預(yù)知結(jié)果,這種結(jié)果是隨機(jī)的導(dǎo)致的現(xiàn)象更可能是隨機(jī)加隨機(jī)。
  2. 復(fù)位需要PHY的所有input時(shí)鐘比如RXC有效 ,這一點(diǎn)也是驅(qū)動(dòng)編寫容易掉坑的地方,如果RXC引腳映射錯(cuò)誤,PHY未就緒,都可以導(dǎo)致沒(méi)有RXC時(shí)鐘而不能完成復(fù)位。如果你遇到不能軟復(fù)位的問(wèn)題第一步就查這里吧!
  3. 復(fù)位完成時(shí)間是不確定的 ,需要等到所有時(shí)鐘域完成復(fù)位才算,所以要等最慢的那個(gè)完成才算。底層接口最好只提供set_rst和get_rst兩個(gè)接口,由上層去調(diào)用該兩個(gè)接口實(shí)現(xiàn)等待查詢操作。因?yàn)闀r(shí)間不定,所以調(diào)用者可以使用線程等待,超時(shí)重試等處理,而如果底層接口使用指令死等則效率太低,會(huì)占用CPU,并且也不知道設(shè)置死等多長(zhǎng)時(shí)間合適(指令死等時(shí)間受主頻等影響,使用定時(shí)器則需要占用硬件外設(shè)且不具備可移植性)。

三.軟復(fù)位不能完成的案例

我驅(qū)動(dòng)開(kāi)發(fā)時(shí)就遇到過(guò)不能軟復(fù)位的案例,后面調(diào)試發(fā)現(xiàn)一個(gè)是RXC引腳映射錯(cuò)誤導(dǎo)致的,另外一個(gè)就是PHY沒(méi)有輸出RXC的時(shí)鐘導(dǎo)致的,所以如果你遇到類似問(wèn)題先查上述原因吧。

另外觸發(fā)復(fù)位后等待4個(gè)CSR時(shí)鐘以上再去查詢這點(diǎn)也很重要,因?yàn)檫@個(gè)很可能導(dǎo)致隨機(jī)問(wèn)題,也就是你可能立馬回讀讀到的是1,那么繼續(xù)等待為0復(fù)位完成,沒(méi)問(wèn)題。也可能是立馬讀到0,沒(méi)有復(fù)位你認(rèn)為復(fù)位了繼續(xù)去操作寄存器,此時(shí)操作寄存器操作行為不可預(yù)料。所以很可能導(dǎo)致隨機(jī)異常,并且很難定位。這個(gè)時(shí)候你可能會(huì)遇到白天有問(wèn)題,晚上沒(méi)問(wèn)題(因?yàn)闇囟葘?dǎo)致讀寫時(shí)序細(xì)微差異可能導(dǎo)致立馬回讀的狀態(tài)不一樣),重新編譯一下運(yùn)行有問(wèn)題,再重新編譯一下運(yùn)行沒(méi)問(wèn)題,加個(gè)打印有問(wèn)題,去掉又沒(méi)問(wèn)題等各種詭異的問(wèn)題,此時(shí)你可能會(huì)覺(jué)得這是神學(xué)了,只能燒香拜佛了。實(shí)際上任何問(wèn)題都有確定的原因的只是你不知道而已,所以驅(qū)動(dòng)開(kāi)發(fā)者遇到問(wèn)題從來(lái)不說(shuō)神學(xué),也從來(lái)不瞎試,而是從原理分析,看手冊(cè),梳理原理,梳理路徑,反推,測(cè)信號(hào),逐步推進(jìn)等方式去定位根本原因。這就是驅(qū)動(dòng)開(kāi)發(fā)與一般開(kāi)發(fā)的區(qū)別。如果還找不到原因,上廁所時(shí)翻翻手冊(cè)吧,你可能會(huì)有所發(fā)現(xiàn)。隨手翻手冊(cè),手冊(cè)當(dāng)小說(shuō)看,是驅(qū)動(dòng)開(kāi)發(fā)的必備素養(yǎng),基本上我每開(kāi)發(fā)一個(gè)IP驅(qū)動(dòng),至少手冊(cè)的所有文字都要看一遍以上,尤其是標(biāo)注*號(hào)的,note的,其他就是各個(gè)模塊調(diào)試時(shí)詳讀具體章節(jié)加翻閱,寄存器至少是每一個(gè)寄存器的每一個(gè)bit都要看一遍的。當(dāng)然開(kāi)發(fā)階段熟讀手冊(cè),勘誤手冊(cè),積累,多調(diào)試不通配置的效果等很重要,這樣才可能遇到問(wèn)題知道查哪,才有可能上廁所時(shí)靈感迸發(fā)。

四.總結(jié)

驅(qū)動(dòng)開(kāi)發(fā)需要注重細(xì)節(jié),了解原理很重要,手冊(cè)一定要熟讀,經(jīng)驗(yàn)積累也很重要,一定要充分調(diào)試各個(gè)功能,多去嘗試不同配置對(duì)應(yīng)的不同效果。

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

    關(guān)注

    52

    文章

    8226

    瀏覽量

    146251
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304791
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5419

    瀏覽量

    171594
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

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

    關(guān)注

    2

    文章

    301

    瀏覽量

    51732
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27528
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-MAC幀格式介紹

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-MAC幀格式介紹 (qq.com) 一.前言 ? 在
    的頭像 發(fā)表于 08-30 09:23 ?2359次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-MAC幀格式<b class='flag-5'>介紹</b>

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-MDIO驅(qū)動(dòng)編寫與測(cè)試

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-MDIO驅(qū)動(dòng)編寫與測(cè)試 一.前言
    的頭像 發(fā)表于 08-30 09:37 ?3735次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-MDIO<b class='flag-5'>驅(qū)動(dòng)</b>編寫與測(cè)試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-描述符鏈表介紹

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 一.描述符概述 1.0 前言 對(duì)于DWC Ethernet QoS驅(qū)動(dòng)的編寫來(lái)說(shuō),初始化完成之后,核心操作就是DMA的描述符鏈表配置(linked list
    的頭像 發(fā)表于 08-30 09:39 ?4496次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-描述符鏈表<b class='flag-5'>介紹</b>

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-數(shù)據(jù)流驗(yàn)證過(guò)程

    轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 https://mp.weixin.qq.com/s/klrHhaLMM_0W3FGVwHXFkA 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-數(shù)據(jù)流驗(yàn)證過(guò)程
    的頭像 發(fā)表于 08-31 08:41 ?2008次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-數(shù)據(jù)流驗(yàn)證過(guò)程

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-收發(fā)驅(qū)動(dòng)編寫與調(diào)試

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-收發(fā)驅(qū)動(dòng)編寫與調(diào)試 (qq.com) https://mp.wei
    的頭像 發(fā)表于 09-05 08:47 ?2318次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-收發(fā)<b class='flag-5'>驅(qū)動(dòng)</b>編寫與調(diào)試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-無(wú)OS環(huán)境移植LWIP

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-無(wú)OS環(huán)境移植LWIP (qq.com) https://mp.weixin.qq.com/s
    的頭像 發(fā)表于 09-06 08:40 ?1588次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-無(wú)OS環(huán)境移植LWIP

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-LWIP的堆管理介紹

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-LWIP的堆管理介紹 (qq.com) https://mp.wei
    的頭像 發(fā)表于 09-08 08:40 ?1295次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-LWIP的堆管理<b class='flag-5'>介紹</b>

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-RTOS環(huán)境移植LWIP與性能測(cè)試

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-RTOS環(huán)境移植LWIP與性能測(cè)試 (qq.com) https://mp.weixin.qq.com/s
    的頭像 發(fā)表于 09-11 11:20 ?2086次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-RTOS環(huán)境移植LWIP與性能測(cè)試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-LWIP在PC上進(jìn)行開(kāi)發(fā)調(diào)試

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-LWIP在PC上進(jìn)行開(kāi)發(fā)調(diào)試 (qq.com) https://mp
    的頭像 發(fā)表于 09-11 08:40 ?1996次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-LWIP在PC上進(jìn)行<b class='flag-5'>開(kāi)發(fā)</b>調(diào)試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-LWIP的ARP模塊介紹

    TCP/IP通訊第一步需要先調(diào)通ARP,否則TCP/IP包都不知道MAC地址要發(fā)給誰(shuí)。這一篇來(lái)基于LWIP的ARP實(shí)現(xiàn)進(jìn)行相關(guān)的分析。
    的頭像 發(fā)表于 09-18 09:34 ?1887次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-LWIP的ARP模塊<b class='flag-5'>介紹</b>

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-LWIP的ICMP模塊介紹與PING收發(fā)測(cè)

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 https://mp.weixin.qq.com/s/6MTNop3zBKdQ-gabbWo63Q 一. 前言 ICMP即Internet Control Message Protocol因特網(wǎng)控制消息協(xié)議。 ICMP是網(wǎng)絡(luò)層協(xié)議,IP不可分割的一部分。 ICMP用于報(bào)告數(shù)據(jù)報(bào)處理中的錯(cuò)誤,比如以下情況下時(shí)發(fā)送ICMP消息:當(dāng)數(shù)據(jù)報(bào)無(wú)法到達(dá)其目的地時(shí),當(dāng)網(wǎng)關(guān)沒(méi)有轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)的緩沖能力時(shí),以及當(dāng)網(wǎng)關(guān)可以指示主機(jī)在較短的路由上發(fā)送數(shù)據(jù)時(shí)。 互聯(lián)網(wǎng)協(xié)議的設(shè)計(jì)并不是絕對(duì)可靠的。ICMP這些控制消息的目的是提供有關(guān)通信環(huán)境中問(wèn)題的反饋
    的頭像 發(fā)表于 09-18 17:51 ?1977次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-LWIP的ICMP模塊<b class='flag-5'>介紹</b>與PING收發(fā)測(cè)

    設(shè)計(jì)軟件核心以太網(wǎng)服務(wù)質(zhì)量數(shù)據(jù)手冊(cè)免費(fèi)下載

    本文描述Synopsys設(shè)計(jì)軟件核心以太網(wǎng)服務(wù)質(zhì)量DWC以太網(wǎng)QoS核心5.10A。DWC以太網(wǎng)
    發(fā)表于 10-23 08:00 ?16次下載
    設(shè)計(jì)軟件核心<b class='flag-5'>以太網(wǎng)</b>服務(wù)質(zhì)量數(shù)據(jù)手冊(cè)免費(fèi)下載

    DesignWare核心以太網(wǎng)服務(wù)質(zhì)量數(shù)據(jù)本

      本文檔介紹Synopsys DesignWare核心以太網(wǎng)服務(wù)質(zhì)量(DWC_Ethernet_qos)核心,5.10a。DWC_Ethernet_qos實(shí)現(xiàn)了與MAC層相關(guān)的
    發(fā)表于 03-31 15:11 ?3次下載

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-包過(guò)濾

    以太網(wǎng)上數(shù)據(jù)非常多,如果所有數(shù)據(jù)都接收交給軟件去處理軟件負(fù)載會(huì)非常重,所以一般只需要接收發(fā)給自己的數(shù)據(jù)即可
    的頭像 發(fā)表于 09-02 09:19 ?1745次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-包過(guò)濾

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開(kāi)發(fā)-描述符格式介紹

    前面我們介紹了描述符鏈表的工作模式,重點(diǎn)是了解環(huán)形鏈表是如何環(huán)形的,以及相關(guān)的寄存器。驅(qū)動(dòng)編寫就需要更進(jìn)一步,了解描述符的具體內(nèi)容,即4個(gè)描述符的每個(gè)字段的含義。
    的頭像 發(fā)表于 09-04 14:14 ?2621次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>-描述符格式<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 一二三四在线高清中文版免费观看电影| 国产传媒精品1区2区3区| 看80后操| 伊人草久久| 激情A片久久久久久久| 午夜视频在线观看国产| 福利啪啪吧| 热99RE久久精品国产| japansemature护士| 男人的天堂黄色片| 91精品国产免费入口| 久久亚洲精品无码A片大香大香 | BLACKED太粗太长| 免费A级毛片无码鲁大师| 中文字幕乱码在线人视频| 久9青青cao精品视频在线| 亚洲日韩成人| 精品午夜寂寞影院在线观看| 亚洲九九精品| 精品精品国产自在现拍| 亚洲欧美国产双大乳头| 护士美女照片| 亚洲欧美一区二区三区久久| 韩国黄电影| 亚洲三级在线看| 久久高清一级毛片| 在线精彩视频在线观看免费| 久久久久久久久久毛片精品美女| 欲香欲色天天综合和网| 看80后操| a视频免费看| 日本精品久久无码影院| 观看免费做视频| 偷拍 自怕 亚洲 在线| 国产精品嫩草影视在线观看| 午夜DY888国产精品影院| 国产精品内射久久久久欢欢| 亚洲AV无码偷拍在线观看| 湖南电台在线收听| 中国老太婆xxxxx| 美女张开腿露尿口给男人亲|