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

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

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

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

基于DWC2的USB驅(qū)動開發(fā)-0x01開篇介紹與新思DWC2 USB2.0控制器簡介

嵌入式USB開發(fā) ? 2023-05-08 18:10 ? 次閱讀

本文轉(zhuǎn)自公眾號,歡迎關(guān)注

基于DWC2的USB驅(qū)動開發(fā)-0x01開篇介紹與新思DWC2 USB2.0控制器簡介 (qq.com)

DWC2 USB2.0控制器介紹

前言

前面介紹了USB江湖中,硬件協(xié)議分析儀,軟件抓包工具中的各門各派,各路高手。工欲善其事必先利其器,所以至少需要了解其中一個硬件協(xié)議分析儀和一個軟件抓包工具,后面才能比較方便的進(jìn)行USB開發(fā),否則可能會迷失在USB協(xié)議的沼澤里,而難以自拔,此時你可能就會不斷進(jìn)行哲思:”我是誰,我在哪里,我在干嘛,我為什么要搞USB?”; ”軟件問題,硬件問題,還是我的問題?”。

各門各派,江湖大俠都會有自己的獨門絕技和獨門武器,而我們看到各種武俠小說,電視劇中,大俠的長成都是奇遇絕頂高手,然后挑柴,打水,站樁,摸魚(不是屏幕前的摸魚),劃水(不是屏幕前的劃水),一頓輸出,然后鏡頭切換春夏秋冬,從掌動草長鶯飛到劍指秋風(fēng)落葉,從拳擊萬丈瀑布到腳掃千層白雪,招式基本功達(dá)到爐火純青之后,然后就是絕頂高手拿出一本泛黃的小冊子或者來到一處絕壁前傳授內(nèi)功心法,于是功力突飛猛進(jìn),終得大成。終于下山行俠仗義,叱咤江湖,成為一代傳奇。

UBS開發(fā)也是一樣的,尤其是做USB底層比如驅(qū)動開發(fā),那么至少需要購買一個USB硬件協(xié)議分析儀,以便抓取分析協(xié)議的底層信號和數(shù)據(jù)與規(guī)格書對照,這就是前面的基本功練習(xí)。,等協(xié)議熟悉了之后,就可以去USB官網(wǎng)搜索各種規(guī)格書,開發(fā)實際的產(chǎn)品,練習(xí)心法內(nèi)功了,就好比可以進(jìn)入達(dá)摩院的藏書樓去翻閱各種絕學(xué)典籍了。

實踐是檢驗檢驗真理的唯一標(biāo)準(zhǔn),所以我們不從USB復(fù)雜的協(xié)議規(guī)格書入手,一開始就直接學(xué)習(xí)少林武功的七十二絕技是不可取的,就好比鳩摩智最終導(dǎo)致的是走火入魔。最好的方法是基于某個USB的控制器,從零實踐其驅(qū)動開發(fā),先從實踐開始熟悉協(xié)議,打好基礎(chǔ),練好基本功。遇到哪些內(nèi)容或者問題然后理論結(jié)合實踐,參照USB控制器的文檔和USB規(guī)格書的文檔進(jìn)行實踐和理論學(xué)習(xí)。這樣后面才有可能駕馭,切記不能急于求成,只有基本功結(jié)合心法才能提升內(nèi)力和功力。

相信本系列文章應(yīng)該是全網(wǎng)第一部專門詳細(xì)介紹基于DWC2 USB2.0控制器驅(qū)動開發(fā)的文章,慢慢來,希望和大家一起學(xué)習(xí),從實踐出發(fā)最終能成為USB開發(fā)的大俠。

新思的USB2.0 IP介紹

新思的USB 2.0 IP應(yīng)該是業(yè)界使用得最多的IP解決方案了。市面上很多的量產(chǎn)MCU或者M(jìn)PU都是基于新思的IP,比如各種xxx32的單片等。新思官網(wǎng)可以看到一些信息

https://www.synopsys.com/dw/ipdir.php?ds=dwc_usb_2_0_digital_controllers,但是其手冊等不是直接開放,需要注冊,目前個人注冊好像不太行了。

新思的IP有以下特征:

  • 靈活的配置選項,以最大限度地提高性能和最小化CPU中斷,后面我們也會詳細(xì)講到其中斷相關(guān)的內(nèi)容,中斷通過一些bit的組合以標(biāo)志不同的狀態(tài),以減少需要進(jìn)行的判斷邏輯。
  • 靈活的參數(shù)可以輕松集成到低延遲和高延遲系統(tǒng)中。
  • 基于系統(tǒng)要求的USB數(shù)據(jù)傳輸或事務(wù)處理。
  • 可配置的數(shù)據(jù)緩沖選項,以微調(diào)性能/面積的權(quán)衡。
  • 緩沖區(qū)和描述符預(yù)取使主機吞吐量最大化。
  • 固件可選端點配置,支持后處理應(yīng)用程序更改;以及靈活的單芯片設(shè)計適用于多種應(yīng)用,總之一個詞就是”靈活”,但是后面看規(guī)格書也可以知道確實很復(fù)雜,配置參數(shù)選項很多。
  • 通過廣泛的約束隨機驗證進(jìn)行測試,確保高質(zhì)量的IP。
  • AMBA?高性能總線(AHB)接口可快速集成到基于arm的設(shè)計中。所以你可以看到各種基于ARM尤其是Cortex-M系列的xxx32的MCU基本都是采用的新思的IP方案。
  • UTMI+ Level 3可以與兼容的PHY設(shè)備快速集成。
  • 高速high -Speed (480mbps)、全速Full-Speed (12mbps)和低速Low- Speed (1.5 Mbps)的操作符合USB OTG補充標(biāo)準(zhǔn)。
  • USB 2.0 HS OTG控制器支持外設(shè)或主機模式。
  • 也支持高速USB EHCI主機控制器。

文檔

新思USB 2.0 IP主要有兩個文檔需要參考

《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Data book》

《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Programming Guide》

前者是描述IP的架構(gòu),信號,配置,寄存器等,有百多頁。供IC設(shè)計,驗證工程師,和驅(qū)動工程師查閱。驅(qū)動開發(fā)要頻繁參考其寄存器部分,要做到每一個寄存器的每一個bit的作用都要了解,我們后面就會一步步參考它進(jìn)行驅(qū)動的編寫。當(dāng)然要成為高手肯定要有很好的內(nèi)力修為,這就需要對其架構(gòu)等其他部分也要熟悉,所以其他部分我們后面也會一起慢慢閱讀消化。

pYYBAGRYybCAGZfwABh0bPz6j2I114.png

后者是編程指導(dǎo),驅(qū)動編寫主要參考這一部分進(jìn)行,也有五百多頁,這個文檔我們后面也會詳細(xì)的閱讀

pYYBAGRYybiAYkAaAAwHpyxYzdU397.png

如果需要這兩個文檔的可以公眾號留言或者加我微信,可以分享給你,僅供分享學(xué)習(xí)之用。

總結(jié)

這一篇是我們正式進(jìn)入USB驅(qū)動開發(fā)的第一篇, 與其他所有的USB書籍或者文章不一樣,我們一開始不直接講USB協(xié)議, 我們先從具體的USB IP入手,從USB的底層驅(qū)動編寫實踐入手再邊實踐邊了解協(xié)議。理論結(jié)合實踐才是好的方式, 心法招式結(jié)合基本功練習(xí)才有可能練成武功的最高境界,否則就會走火入魔。關(guān)于走火入魔的一個很明顯的表現(xiàn)就是,很多USB驅(qū)動開發(fā)工程師或者嵌入式開發(fā)人員,一上來就在群里論壇里問”求救,xxx了是什么問題,怎么解決”,這一看就是基本功都沒練習(xí)直接就練習(xí)少林七十二絕跡的,基本連USB控制器部分的參考手冊數(shù)據(jù)手冊,USB規(guī)格書都沒怎么閱讀過的,肯定做不好,必定走火入魔,迷失在各種問題里,哪怕是成為調(diào)參俠,調(diào)API俠,調(diào)庫俠,復(fù)制粘貼俠最終也可能遇到各種BUG無法解決而終。我們做開發(fā)尤其是嵌入式開發(fā),驅(qū)動開發(fā),一定要基本功練好,對底層基本原理熟悉,并且經(jīng)過親身實踐,理論結(jié)合實踐才能做好,成為USB江湖一代大俠。

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

    關(guān)注

    60

    文章

    7936

    瀏覽量

    264474
  • USB2.0
    +關(guān)注

    關(guān)注

    2

    文章

    186

    瀏覽量

    46087
  • 新思
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    29848
  • USB驅(qū)動
    +關(guān)注

    關(guān)注

    1

    文章

    136

    瀏覽量

    20191
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    125
收藏 人收藏

    評論

    相關(guān)推薦

    基于DWC2USB驅(qū)動開發(fā)-0x06 DWC2 USB2.0 IP 頭文件與寄存的讀寫操作

    上一篇我們介紹控制器的寄存,而驅(qū)動的編寫底層無非就是配置各種寄存,所以第一步先要準(zhǔn)備寄存
    的頭像 發(fā)表于 05-16 14:04 ?2415次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>06 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b> IP 頭文件與寄存<b class='flag-5'>器</b>的讀寫操作

    基于DWC2USB驅(qū)動開發(fā)-0x02 DWC2 USB2.0 IP功能特征介紹

    DWC2即新(Synopsys )的DesignWare? Cores USB 2.0 HiSpeed On-The-Go (OTG)控制器
    的頭像 發(fā)表于 05-09 10:09 ?9357次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>02 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b> IP功能特征<b class='flag-5'>介紹</b>

    基于DWC2USB驅(qū)動開發(fā)-0x04 DWC2 USB2.0 IP 架構(gòu)介紹

    這一篇先對IP的架構(gòu)進(jìn)行一些介紹,內(nèi)容比較多所以重點關(guān)注和軟件相關(guān)的內(nèi)容。后續(xù)編程具體涉及時,可能再返回過來詳讀某一個部分。
    的頭像 發(fā)表于 05-12 12:50 ?4230次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>04 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b> IP 架構(gòu)<b class='flag-5'>介紹</b>

    基于DWC2USB驅(qū)動開發(fā)-0x07 DWC2 USB2.0 IP 配置參數(shù)

    混淆,IP的配置參數(shù)固定之后就不能改了,就決定了IP所具有的能力。對于軟件開發(fā)者來說也要了解其具體的配置,因為只有知道當(dāng)前IP的配置,知道支持哪些功能,哪些是軟件可以配置的哪些是硬件固定了無法配置的,等等這些,后面寫驅(qū)動才心中有數(shù)。 配置相關(guān)
    的頭像 發(fā)表于 05-17 09:49 ?2285次閱讀

    基于DWC2USB驅(qū)動開發(fā)-IAD描述符詳解

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-IAD描述符詳解 (qq.com) 一.? 前言 IAD描述符用于一個設(shè)備功能關(guān)聯(lián)多個接口,可以用于實現(xiàn)組合設(shè)備。 二.參考文檔
    的頭像 發(fā)表于 06-27 08:45 ?12.5w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-IAD描述符詳解

    基于DWC2USB驅(qū)動開發(fā)-USB復(fù)位詳解

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-USB復(fù)位詳解 (qq.com) 一.前言 ? ? ? ? ?上一篇我們詳細(xì)
    的頭像 發(fā)表于 07-07 11:18 ?6.4w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>復(fù)位詳解

    基于DWC2USB驅(qū)動開發(fā)-USB連接詳解

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-USB連接詳解 (qq.com) 一.前言 ? 之前一直在閱讀手冊,規(guī)格書,練習(xí)招式
    的頭像 發(fā)表于 07-07 08:46 ?3690次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>連接詳解

    基于DWC2USB驅(qū)動開發(fā)-高速設(shè)備枚舉為全速設(shè)備問題案例分析

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-高速設(shè)備枚舉為全速設(shè)備問題案例分析 (qq.com) 一.前言 ? 本文分享一個高速設(shè)備被枚舉為全速的問題。 ? ? 高速設(shè)備速
    的頭像 發(fā)表于 07-10 17:12 ?1397次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-高速設(shè)備枚舉為全速設(shè)備問題案例分析

    基于DWC2USB驅(qū)動開發(fā)-設(shè)備類驅(qū)動框架

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-設(shè)備類驅(qū)動框架 (qq.com) 一.前言 從軟件頂層,從數(shù)據(jù)流的角度來看
    的頭像 發(fā)表于 07-16 15:56 ?1307次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-設(shè)備類<b class='flag-5'>驅(qū)動</b>框架

    基于DWC2USB驅(qū)動開發(fā)-發(fā)送相關(guān)的寄存DMA寄存詳解

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-發(fā)送相關(guān)的寄存DMA寄存詳解 (qq
    的頭像 發(fā)表于 07-16 16:42 ?1641次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-發(fā)送相關(guān)的寄存<b class='flag-5'>器</b>DMA寄存<b class='flag-5'>器</b>詳解

    基于DWC2USB驅(qū)動開發(fā)-數(shù)據(jù)不能發(fā)送問題分析案例

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-數(shù)據(jù)不能發(fā)送問題分析案例 (qq.com) ? 一.前言 ? ? ? ?對于驅(qū)動
    的頭像 發(fā)表于 08-08 09:43 ?2269次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-數(shù)據(jù)不能發(fā)送問題分析案例

    RK3399平臺上USB控制器和PHY的連接方式和配置說明

    USB2.0 OTG對應(yīng)的控制器DWC2USB2.0 OTG使用的是Synopsys 方案,即使用DWC2
    發(fā)表于 05-12 17:46

    如何對基于hal庫的DWC2 USB IP進(jìn)行調(diào)試呢

    背景之前適配 DWC2 USB IP 的時候,主要是基于 st 的 hal 庫來走的,當(dāng)時我就對他們的 hal 庫代碼不滿,只是無奈,迫于時間就沒重構(gòu),果不其然,usb bug 一堆,隨意舉例,這還
    發(fā)表于 06-14 15:23

    無法讓USB主機正常工作是我做錯了什么嗎?

    bus registered, assigned bus number 3[ 2.986093] dwc2 49000000.usb-otg: irq 51, io mem 0x
    發(fā)表于 12-02 06:06

    基于DWC2USB驅(qū)動開發(fā)-抽絲剝繭再論切換到狀態(tài)階段標(biāo)志DOEPINTn.StsPhseRcvd

    本文轉(zhuǎn)自公眾號系列文章,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-USB包詳解 (qq.com) 一.前言 前面我們對SETUP完成標(biāo)志DOE
    的頭像 發(fā)表于 07-24 18:04 ?1569次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-抽絲剝繭再論切換到狀態(tài)階段標(biāo)志DOEPINTn.StsPhseRcvd
    主站蜘蛛池模板: 农民工老头在出租屋嫖老熟女| 色婷婷五月综合久久中文字幕| 性xxx在线观看| 两个人的视频免费| 99精品视频在线观看| 日韩熟女精品一区二区三区| 农民工老头在出租屋嫖老熟女| 色偷偷亚洲天堂| 在线 日韩 欧美 国产 社区| 亚洲欧美无码2017在线| 亚洲一区二区免费看| 中文字幕亚洲欧美日韩2019| 香蕉久久av一区二区三区| 7m凹凸国产刺激在线视频| 尤物99久久久合集一区区| 中文在线观看永久免费| 国产精选视频在线观看| 国产在线精品国自产拍影院午夜| 韩国伦理片2018在线播放免费观看| 禁室培欲在线视频免费观看| 空姐被黑人 苏晓曼| 欧美性xxx极品| 午夜视频在线网站| 中文字幕日本一区| 精品无码久久久久久动漫| 美女18黄| 亚州视频一区| 亚欧日韩毛片在线看免费网站| 性绞姿始动作动态图| 70岁妇女牲交色牲片| 春暖花开 性 欧洲| 妖精视频免费高清观看| 一二三四在线观看韩国| 亚洲欧洲精品成人久久曰影片| G0GO人体大尺香蕉| 东日韩二三区| 青柠在线视频| 在线少女漫画| 女人一级毛片免费视频观看| 女子扒开腿让男生桶爽| 欧美大片免费|