Linux usb gadget框架概述
很幸運,在公司開發了gadget相關驅動,總結下來,大大小小開發了四個與gadget相關的驅動,字符驅動、g_multi、g_ether、g_zero,在這裏把自己對gadget的開發中自己的感悟記錄之。
想要了解gadget,必須了解其框架,知道composite、gadget、udc三者之間的聯系,知道usb描述符的作用。
一個usb device有一個設備描述符。
有一個或者多個配置描述符
一個配置描述符有一個或者多個接口(在gadget端,接口正式命名是usb_func)。
一個接口有一個或者多個端點。
- static int __init init(void)
- {
- return usb_composite_register(&zero_driver);
- }
Linux usb gadget框架概述
相關推薦
Linux usb gadget框架概述
strong usb driver site 總結 class cpp 感悟 字符 很幸運,在公司開發了gadget相關驅動,總結下來,大大小小開發了四個與gadget相關的驅動,字符驅動、g_multi、g_ether、g_zero,在這裏把自己對gadget的開發中
linux 開發板(Linux USB Gadget) 模擬u盤
前幾天,搞了 hid裝置,通過usb hid裝置和windows進行通訊。現在開始搞這個 mass storge 首先說明 環境:linux版本:3.15 使用開發板:SAMa5d3 編譯
Android/Linux USB Gadget:三層架構
1.前言 繼Linux Gadget的一點研究後陸續續關注了很久Android USB Gadget,一直想寫點什麼記錄一些認識,可是Linux USB實在是太複雜,讓人有點無從下筆的感覺。它的複雜並不是說不可以被人理解,而且涉及的面很廣。USB Host的驅動關注比較少,
linux usb驅動——Gadget編譯生產
most class conf sci bytes linu errors command file 參考 http://linux-sunxi.org/USB_Gadget/Mass_storage make kernel_menuconfig Device Driver
linux usb驅動——Gadget代碼介紹
dma usb驅動 硬件 維護 and get 基於 開發 版本 一般網上關於介紹USB Gadget的資料都是基於Linux2.6.32或在這之前的版本,作者在關註了Linux2.6.37和Linux3.0.4版本的內核,USB Gadget的一些API已經與Linux2
LINUX 自定義USB Gadget HID 裝置
最近在搞自定義的Gadget hid裝置,核心版本:LINUX3.15 使用開發板:ATMEL SAMA5D3 編譯環境:Ubuntu 12.04 首先配置核心,進入Device driver 選單 [*] USB suppo
usb gadget驅動框架分析
以renesas BSP為例: 1.composite_driver層註冊流程 usb_composite_probe usb_gadget_probe_driver /*driver->udc_name沒有指定為e659000.usb那麼就預設是使用第一個UDC,找裡面的第一個還
USB第1-4章學習——USB結構體系概述
大量 普通 管道 配置 div 健壯性 接口 事先 點號 第一章 術語與縮寫 一些術語與縮寫,沒有太多用處 第二章 緒論 無太多用處第三章 背景 介紹了USB的一些硬件指標 使用場所等 可泛讀了解第四章 結構體系概述 (極其重要 是理解整個USB工作原理的
Java三大主流框架概述
連接 cti 轉換 增刪 關閉連接 三種 流行 api 關閉 Java三大主流框架概述 郵箱:[email protected]/* */ Struts、Hibernate和Spring是我們Java開發中的常用關鍵,他們分別針對不同的應用場景給出最合適的解決方
命令框架概述
bat 顯示 設定 條件 範例 框架概述 fcm src blog 你可以使用命令框架服務向設備上正在運行的應用程序發送命令。 例如,Predix雲中的EdgeManager設備管理應用程序能夠向任何使用命令框架服務設備的單獨的應用程序發送命令。 為了傳遞EdgeManag
MyBatis框架概述
實現 property 五個 上下 sources insert truct version except MyBatis是一個優秀的持久層框架,它對jdbc的操作數據庫的過程進行封裝,使開發者只需要關註SQL本身,而不需要花費精力去處理例如註冊驅動、創建connectio
19.Linux-USB總線驅動分析
kmalloc 開發 硬件 ctrl 地址 allow end 處理 interface 如下圖所示,以windows為例,我們插上一個沒有USB設備驅動的USB,就會提示你安裝驅動程序 為什麽一插上就有會提示信息? 是因為windows自帶了USB總線驅動程序
SylixOS USB Gadget層介紹
usb sylixos 驅動 1. Gadget層介紹由於SylixOS中沒有Platform的概念,所以在筆者眼中Gadget層兼顧了Platform的功能,實現了UDC設備層和驅動層的連接。Gadget層結構以及函數調用過於復雜,無法對每個函數做一一介紹,在此會抽調一些重要的函數以及結構體簡單
Struts2框架概述
什麽是 下載 理解 設計模式的 處理 項目 con apach 復雜 Struts2-day01 一、 框架概述 什麽是框架,為什麽使用框架,框架優點 框架(framework)是一個基本概念上的結構,用於去解決或者處理復雜的問題 框架,即framewo
linux內存管理概述
按順序 使用 num 簡單 更多 未使用 滿足 由於 操作 其中介紹了虛擬內存的機制以及mmap系統調用的實現。mmap允許直接將設備內存映射到用戶進程的地址空間中。物理內存的管理,包括緩存的分配及回收,請頁機制,交換空間等。 1)交換模塊(swap) 這個模塊負責控制
白話kali linux USB啟動盤的制作(快捷版)
body inf 開源 電腦 bsp gpo lin 一鍵 之前 以前裝系統沒有正確方法,基本上是胡亂安裝。 制作啟動盤,網上有很多的教程,各種軟件非常的多,但是基本沒有使用過,因為一定程度的不信任。 在知乎上看到一個據說非常良心的軟件,既可以安裝windows也可以安裝l
andriod usb gadget
fun functions poi oid exit site mas sbin storage usb gadget composite: echo 0 > /sys/class/android_usb/android0/enable e
Scrapy框架概述
ins mage 自己的 content des .com 數據 start self Scrapy的初步認識 Scrapy使用了Twisted作為框架,Twisted有些特殊的地方是它是事件驅動的,並且比較適合異步的代碼。對於會阻塞線程的操作包含訪問文件、數據庫或者Web
spring框架概述
destroy tac expr proto service ima ops 程序 repo 1 spring框架概述 1.1 什麽是spring Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Jo
django框架概述
界面 sha base dir 部分 inf ack sgi 腳本 ------------------MVC與MVT框架------------------- 1、MVC MVC框架的核心思想是:解耦。降低各功能模塊之間的耦合性,方便將來變化時,更容易重構代碼,最