在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Gadget框架構造描述符

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-13 11:34 ? 次閱讀

假設你要【模擬】一個 USB 設備:

這個 USB 設備含有廠家信息:它記錄在設備描述符里,所以設備描述符應該由你提供

這個芯片可能有多種配置,這也是由你決定,所以配置描述符應該由你提供

某個配置下多個接口,接口就是功能,Linux 內核里事先提供了很多功能的驅動程序,所以:接口描述符是內核提供的

某個接口下需要什么端點,也是內核里各類功能的驅動程序提供的

以 zero.c 為例:

配置 1:loopback,Host 寫數據給它,就可以讀出原樣的數據

配置 2:sourcesink,Host 寫數據給它(它只是記錄下數據),Host 還可以讀數據(讀到的都是0)

從下到上涉及這些文件:

圖片

閱讀源碼時,入口函數是usb_composite_probe(&zero_driver):

圖片

函數調用過程中主要的函數如下,重點關注“xxx_bind”函數,bind 就是初始化的意思:

usb_composite_probe

composite_bind

zero_bind

sourcesink_bind/loopback_bind

圖片

深入解讀描述符的構造過程,可以得到下面的圖:

構造出一個 usb_composite_dev 結構體

它把各層串聯起來,里面構造有設備描述符、配置描述符、接口描述符、端點描述符

圖片

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

    關注

    5125

    文章

    19438

    瀏覽量

    313045
  • Linux
    +關注

    關注

    87

    文章

    11420

    瀏覽量

    212313
  • 框架
    +關注

    關注

    0

    文章

    404

    瀏覽量

    17733
收藏 人收藏

    評論

    相關推薦

    USB組合設備的配置描述符里一定要用IAD描述符嗎?

    USB組合設備的配置描述符里一定要用IAD描述符
    發表于 03-11 06:41

    USB描述符詳解

    對于實現USB功能的項目,不管是實現CDC,大容量存儲、HID等都必須使用實現USB標準描述符,從而實現USB枚舉過程。這里共享一個USB描述符的詳解。
    發表于 06-12 14:46

    UBL UBOOT 描述符

    ?? 在DM368的開發包目錄下/psp/flash-utils/DM36x/GNU:執行make 可以省成UBL:ubl_DM36x_nand.bin ;我想問的是如何添加UBL 的描述符?燒寫到
    發表于 06-21 08:48

    usb標準描述符之技巧

    usb標準描述符之技巧 USB是個通用的總線,端口都是統一的。但是USB設備卻各種各樣,例如USB鼠標,USB鍵盤,U盤等等,那么USB主機是如何識別出不同的設備的呢?這就要依賴
    發表于 04-12 11:09 ?1580次閱讀

    USB HID報告及報告描述符簡介

    在USB中,USB HOST是通過各種描述符來識別設備的,有設備描述符,配置描述符,接口描述符,端點描述符,字符串
    發表于 04-12 11:13 ?4167次閱讀

    Descriptor描述符解釋

    Descriptor即描述符,是一個完整的數據結構,可以通過C語言等編程實現,并存儲在USB設備中,用于描述一個USB設備的所有屬性,USB主機是通過一系列命令來要求設備發送這些信息的。
    發表于 07-16 09:39 ?2726次閱讀

    Linux中文件及文件描述符概述

    6.2 Linux中文件及文件描述符概述 在Linux中對目錄和設備的操作都等同于文件的操作,因此,大大簡化了系統對不同設備的處理,提高了效率。Linux中的文件主要分為4種:普通文件、目錄文件
    發表于 10-18 14:35 ?0次下載

    USB設備鍵值表描述符說明資料免費下載

    本文檔的主要內容詳細介紹的是USB設備鍵值表描述符說明資料免費下載包括了:1.設備描述符的結構,2. 配置描述符的結構,3. 接口描述符的結構,4. HID
    發表于 07-16 16:56 ?35次下載
    USB設備鍵值表<b class='flag-5'>描述符</b>說明資料免費下載

    USB各描述符之間的依賴是怎么樣的

    USB 是個通用的總線,端口都是統一的。但是USB 設備卻各種各樣,例如USB 鼠標, USB鍵盤, U盤等等,那么USB 主機是如何識別出不同的設備的呢?這就要依賴于描述符了。USB 的描述符主要有設備描述符,配置
    發表于 07-23 16:53 ?8次下載
    USB各<b class='flag-5'>描述符</b>之間的依賴是怎么樣的

    隱藏描述符工具應用程序免費下載

    本文檔的主要內容詳細介紹的是HID Descriptor Tool隱藏描述符工具應用程序免費下載。
    發表于 01-08 08:00 ?11次下載
    隱藏<b class='flag-5'>描述符</b>工具應用程序免費下載

    Linux系統編程中的文件描述符調用

    文件描述符 進程每打開一個文件的時候,會獲得該文件的文件描述符,而后續的讀寫操作都把文件描述符作為參數。在用戶空間或者內核空間,都是通過文件描述符來唯一地索引一個打開的文件。文件
    的頭像 發表于 09-02 09:50 ?1827次閱讀
    Linux系統編程中的文件<b class='flag-5'>描述符</b>調用

    科普一下什么是USB的描述符

    以及行為呢?這就要通過描述符來實現了。那么什么是USB的描述符呢?其實就是一些傳遞的協議信息,比如設備的類型、廠商ID、產品ID、端點情況、版本號等信息。 既然描述符是協議信息,那么不同的版本也會有所不同,比如USB1.1協議定
    的頭像 發表于 12-02 14:41 ?4144次閱讀

    從獲取描述符的角度理解Gadget框架

    安裝好 gadget 驅動程序后(比如 modprobe g_zero), 它只是構造好了各類描述符。在設備的枚舉過程會讀取描述符。 使用 OTG 線連接電腦和開發板時,電腦軟件會執行
    的頭像 發表于 07-13 11:38 ?1148次閱讀
    從獲取<b class='flag-5'>描述符</b>的角度理解<b class='flag-5'>Gadget</b><b class='flag-5'>框架</b>

    基于DWC_ether_qos的以太網驅動開發-描述符格式介紹

    前面我們介紹了描述符鏈表的工作模式,重點是了解環形鏈表是如何環形的,以及相關的寄存器。驅動編寫就需要更進一步,了解描述符的具體內容,即4個描述符的每個字段的含義。
    的頭像 發表于 09-04 14:14 ?3475次閱讀
    基于DWC_ether_qos的以太網驅動開發-<b class='flag-5'>描述符</b>格式介紹

    Python的優雅之處:Descriptor(描述符

    學習 Python 這么久了,說起 Python 的優雅之處,能讓我脫口而出的, Descriptor(描述符)特性可以排得上號。 描述符 是Python 語言獨有的特性,它不僅在應用層使用,在語言
    的頭像 發表于 11-02 10:52 ?1189次閱讀
    Python的優雅之處:Descriptor(<b class='flag-5'>描述符</b>)
    主站蜘蛛池模板: 色偷偷91久久综合噜噜噜噜 | 秋霞特色大片18入口私人高清 | 一级一级毛片免费播放 | 婷婷在线综合 | 男人的视频网站 | 特黄aa级毛片免费视频播放 | 亚洲特级毛片 | 国产美女精品视频免费观看 | 国产亚洲精品aaa大片 | 天天曰天天爽 | 特级淫片aaaa毛片aa视频 | xxxx性欧美高清 | 六月婷婷七月丁香 | 亚洲福利秒拍一区二区 | 乌克兰毛片 | 欲色影视香色天天影视来 | 久久久精品免费国产四虎 | 亚洲视频入口 | 圆胖肥女人性视频 | 精品午夜视频 | 91精品国产免费久久久久久青草 | 色avav | 台湾一级毛片永久免费 | 男人天堂网www | 天堂免费视频 | 1024手机在线看 | 午夜肉伦伦影院 | 亚洲人成亚洲人成在线观看 | 无码一区二区三区视频 | 天天在线看片 | 亚洲一区欧美二区 | 免费一看一级毛片 | 在线免费看高清视频大全 | 狠狠色狠狠色综合久久一 | 性欧美高清视频 | 国产在线视频你懂得 | 亚洲精品九色在线网站 | 男啪女色黄无遮挡免费观看 | 亚洲最大成人在线 | 国产天堂网 | 免费深夜视频 |