Linux以其穩定、高效、易定制、硬件支持廣泛、源代碼開放等特點,已在嵌入式領域迅速崛起,被國際上許多大型的跨國企業用作嵌入式產品的系統平臺。
USB是Universal Serial Bus (通用串行總線)的縮寫,是1995年由Microsoft、Compaq、IBM等公司聯合制定的一種新的PC串行通信協議。它是一種快速、靈活的總線接口。與其它通信接口相比較,USB接口的最大特點是易于使用,這也是USB的主要設計目標。USB的成功得益于在USB標準中除定義了通信的物理層和電器層標準外。還定義了一套相對完整的軟件協議堆棧。這使得多數USB設備都很容易在各種平臺上工作。作為一種高速總線接口,USB適用于多種設備(如數碼相機、MP3播放器、高速數據采集設備等)。另外,USB接口還支持熱插拔,而且所有的配置過程都由系統自動完成,無須用戶干預。
1 Linux下的USB設備驅動
在Linux內核的不斷升級過程中,驅動程序的結構相對穩定。由于USB設備也是外圍設備的一種,因此,它的驅動程序結構與普通設備的驅動程序相同。Linux系統的設備分為字符設備(CharDevice)和塊設備(BlockDevice)。字符設備支持面向塊字符的I/O操作,它不通過系統的快速緩存,而只支持順序存取。塊設備則支持面向塊的I/O操作,所有塊設備的I/O操作都通過在內核地址空間的I/O緩沖區進行,可以支持幾乎任意長度和任意位置上的I/O請求。塊設備與字符設備還有一點不同,就是塊設備必須能夠隨機存取(RandomAccess),字符設備則沒有這個要求。典型的字符設備包括鼠標、鍵盤、串行口等,而塊設備主要包括硬盤軟盤設備、CD-Rom等。由于USB設備主要都是通過快速串行通訊來讀寫數據,因此一般都可作為字符設備來進行處理。
2 Linux下的USB core
2.1 Linux中USB core與USB的結構關系
Linux操作系統中有一個叫做“USB core”的子系統,可提供支持USB設備驅動程序的API和USB主機控制器的驅動程序。同時提供有許多數據結構、宏定義和功能函數來對硬件或設備進行支持。在Linux下編寫USB設備的驅動程序時,從嚴格意義上講,就是使用這些USB core的子系統所定義的數據結構、宏和函數來編寫數據的處理功能。在Linux下,core、host controller和driver三者之間的關系如圖1所示。
2.2 USB core的初始化
USB core從USB子系統的初始化開始。USB子系統的初始化則在文件drivers/usb/core/usb.c里。其代碼如下:
? subsys_initcall(usb_init);
? module_exit(usb_exit);
代碼中的subsys_initcall是一個宏,相當于module_init,只不過因為這部分代碼是核心,開發者通常把它看作一個子系統,而不僅僅是一個模塊。因為USB core模塊代表的不是某一個設備,而是所有USB設備賴以生存的模塊。因此,在Linux中,像這樣把一個類別的設備驅動歸結為一個子系統(比如PCI子系統、scsi子系統等)?;旧?,drivers/目錄下面第一層的每個目錄都可算作一個子系統,因為它們代表了一類設備。一般地,usb_init是真正的初始化函數,而usb_exit()則是整個USB子系統結束時的清理函數:
函數usb_init主要完成初始化和注冊設備。
2.3 USB里的設備模型
Linux里一個很重要的概念是設備模型。對于驅動來說,設備的概念就是總線和與其相連的各種設備。在內核里,總線、設備、驅動也就是bus、device、driver是設備模型很重要的三個概念,它們都有自己專屬的結構。在include/linux/devide.h里的定義為:
struct bus_type {……};
struct device {……);
struct device_driver {……};
每次出現一個設備都要向總線注冊,每次出現一個驅動,也要向總線注冊。系統初始化時,應掃描連接許多設備,并為每一個設備建立一個struct device的變量。每一次都應有一個驅動程序,并要準備一個struct device_driver結構的變量。還要把這些變量加入相應的鏈表(如把device插入devices鏈表,driver插入drivers鏈表)。這樣,通過總線就能找到每一個設備和每一個驅動。然而,假如計算機里只有設備卻沒有對應的驅動,那么設備將無法工作。反過來,倘若只有驅動卻沒有設備,驅動也起不了任何作用。對于USB設備,它可以在計算機啟動以后再插入或者拔出計算機。由于device可以在任何時刻出現,而driver也可以在任何時刻被加載,所以,每當一個struct device誕生時,它就會去BUS的drivers鏈表中尋找自己的另一半。如果找到了匹配的設備,就調用device_bind_driver,并綁定好。
Linux設備模型中的總線落實在USB子系統里就是usb_bus_type,它在usb_init函數中可用retval=bus_register(&usb_bus_type)語句注冊,而在driver.c文件里的定義如下:
該函數的形參對應的就是總線兩條鏈表里的設備和驅動。當總線上有新設備和驅動時,這個函數就會被調用。
3 USB驅動程序的描述符
一個設備可以有多個接口,一個接口可代表一個功能,因此,每個接口都對應著一個驅動。例如一個USB設備有兩種功能,一個鍵盤,上面還帶一個揚聲器,這就是兩個接口,就需要兩個驅動程序,一個是鍵盤驅動程序,一個是音頻流驅動程序。
一個驅動程序是否支持一個設備,要通過讀取設備的描述符來判斷。那么,什么是USB的描述符呢?USB的描述符是一個帶有預定義格式的數據結構,里面保存有USB設備的各種屬性和相關信息,可以通過向設備請求獲得它們的描述符內容來深刻了解和感知一個USB設備。主要有四種USB描述符,分別為:接口描述符、端點描述符、設備描述符和配置描述符。
協議規定:一個USB設備必須支持這四大描述符,還有些描述符不是必須包含的,有些特殊設備用來描述設備的不同特性,但這四大描述符是一個都不能少的。USB設備里有一個eeprom,可用來存儲設備本身信息,設備的描述符就存儲在這里。
上述四個描述符分別放在了include/linux/usb.h文件中的struct usb_host_interface、structusb_host_endpoint、struct usb_device、struetusb_host_config里,而描述符結構體本身定義在include/linux/usb/ch9.h里.并分別用struct usb_interface_descriptor、struct usb_host_endpoint、structusb_device_descriptor和struct usb_config_descriptor來表示。描述符結構體的定義應完全按照USB協議對描述符的規定來定義。
4 USB接口驅動
4.1 接口結構
平時編寫的USB驅動通常指的是寫USB接口的驅動,一個接口對應一個接口驅動程序,需要以一個struct usb_driver結構的對象為中心,并以設備的接口提供的功能為基礎,來進行USB驅動程序的編寫。struct usb_driver結構體一般定義在include/linux/usb.h文件里。具體如下:
struct usb_driver{
const char*name;
int(*probe)? (struct usb_interface*intf,const
struct usb_device_jd*id);
void(*disconnect)? (struct usb_interface*intf);
int(*ioctl)? (struct usb_interface*intf,unsigned
int code,void*buf);
int? (*suspend)? (struct usb_interface*intf,
pm_message_t message);
int(*resume)? (struct usb_interface*intf);
void(*pre_reset)? (struct usb_interface*intf);
void(*post_reset)(struct usb_interface*intf);
const struct usb_device_id*id_table;
struct usb_dynids dynids;
struct usbdrv_wrap drvwrap;
unsigned int no_dynamic_id:1;
unsigned int supports_autosuspend:1;
};
Name為驅動程序的名字,對應于/sys/bus/usb/drivers/下面的子目錄名稱。它只是彼此區別的一個代號,這里的名字在所有的USB驅動中必須是唯一的。probe用來看看這個USB驅動是否愿意接受某個接口的函數。Disconnect函數將在接口失去聯系或使用rmmod卸載驅動將它和接口強行分開時被調用。Ioctl函數則用在驅動通過usbfs和用戶空間進行交流時使用。Suspend、esume分別在設備被掛起和喚醒時使用。pre_reset、post_reset分別在設備將要復位(reset)和已經復位后使用。id_table的變量可用來判斷是否支持某個設備接口。Dynids是支持動態id的。實際上,即使驅動已經加載了,也可以添加新的id給它。drvwrap是給USB core區分設備驅動和接口驅動用的。no_dynamic_id可以用來禁止動態id。supports_autosuspend可對autosuspend提供支持,如果設置為0,則不再允許綁定到這個驅動的接口autosuspend。
接口驅動
當insmod或modprobe驅動的時候,經過一個曲折的過程,就會調用相應USB驅動里的xxx_init函數,進而去調用usb_register (),以將相應的USB驅動提交給設備模型,添加到USB總線的驅動鏈表里。當rmmod驅動時,同樣,在經過一個曲折的過程之后,再調用相應驅動里的xxx_cleanup函數,進而調用usb_deregister ()將相應的USB驅動從USB總線的驅動鏈表里刪除。
5 結束語
本文介紹了Linux下USB core的工作原理,同時介紹了驅動USB必須了解的四個描述符。此外,還介紹了Linux下usb接口驅動的工作原理。本文介紹的方法能適應于Linux下各種不同的USB設備驅動程序的開發。
嵌入式Linux下的USB設備驅動技術
- 嵌入式(330855)
- Linux(218419)
相關推薦
熱點推薦
Linux嵌入式驅動開發
全部傳送門Linux嵌入式驅動開發01——第一個驅動Hello World(附源碼)Linux嵌入式驅動開發02——驅動編譯到內核Linux嵌入式驅動開發03——雜項設備驅動(附源碼)Linux
2021-12-17 06:22:21
嵌入式 linux字符設備驅動的設計與應用,看完你就懂了
本文通過實現對 PXA255開發板外圍字符設備(電機、數碼管、串口和 mini鍵盤)的操作和控制,詳細討論了嵌入式 linux字符設備驅動的設計與應用。
2021-04-26 06:35:07
嵌入式Linux下USB藍牙設備驅動
嵌入式Linux下USB藍牙設備驅動.pdf第 18卷 第 2期 電子設計工程 2010年 2月V01.18No.2ElectronicDesignEngineeringFeb.2010...
2021-11-05 07:46:01
嵌入式Linux下USB藍牙設備驅動
設備驅動,從而有助于藍牙設備在嵌入式領域廣泛應用?!娟P鍵詞】:藍牙驅動;;USB設備;;MP;;嵌入式Linux【DOI】:CNKI:SUN:GWDZ.0.2010-02-025【正文快照】:隨著無線
2010-04-24 09:30:17
嵌入式Linux下LED報警燈驅動設計
嵌入式Linux下LED報警燈驅動設計及編程《嵌入式Linux下LED報警燈驅動設計及編程》實驗報告學生姓名:學 號:專業班級:指導教師:完成時間:實驗5嵌入式Linux下LED報警燈驅動設計及編程
2021-11-04 08:18:25
嵌入式Linux下的USB設備驅動
邱娜靈,蔣朝根(西南交通大學信息科學與技術學院,四川成都610031)0 引言在眾多的嵌入式操作系統中,Linux以其穩定、高效、易定制、硬件支持廣泛、源代碼開放等特點,已在嵌入式領域迅速崛起,被
2018-12-07 10:29:50
嵌入式Linux下的LCD驅動程序怎么編寫?
隨著嵌入式Linux的迅速發展,由于其沒有昂貴的版權費,完全開放源代碼,可裁減性與可移植性,因此是開發嵌入式產品的優秀操作系統平臺。設備驅動程序是Linux內核的重要組成部分,運行在Linux內核
2019-11-11 07:33:32
嵌入式Linux驅動程序設計高級培訓
Linux驅動程序開發技術,對嵌入式工程師的重要性不言而喻。掌握該技術,就不再把Linux驅動和硬件設備當成黑匣子,而是按照我們的需要來定制和編寫驅動,使得硬件設備按照我們的設計需求為軟件服務。在很多
2010-03-10 17:54:13
嵌入式Linux存儲設備包含什么
/NandFlash分區)進行自動掛載。也實現模擬嵌入式Linux設備當成U盤設備插入電腦,即通過USB數據線連接電腦,可指定存儲設備(SD卡/NandFlash分區)其中一種映射到電腦上,即“計算機”下的“可移動存儲設備”下有XX盤。筆者的開發板存儲設備對應的設備如下:存儲設備設備路徑掛載路徑
2021-12-21 08:19:32
嵌入式Linux學習步驟
Linux內核移植Linux2.6內核到 ARM9開發板6、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置
2015-03-24 10:41:29
嵌入式Linux學習步驟
Linux內核移植Linux2.6內核到 ARM9開發板 6、 嵌入式 Linux 下串口通信 串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統
2011-05-04 15:01:53
嵌入式Linux學習步驟
文件系統 文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術簡介 MTD塊設備初始化 MTD塊設備的讀寫操作了解Linux系統的文件系統 了解嵌入式Linux的文件系統
2018-07-03 00:56:23
嵌入式Linux實時化技術是什么?
一些實時擴展,但需要進行實時性改造。本文針對嵌入式Linux實時化技術中的一些關鍵問題進行了討論,如Linux內核時延,實時化主流技術方案及其評價等。
2019-10-08 14:19:33
嵌入式Linux應用開發詳解 光盤
`本書立足于嵌入式Linux平臺,側重于實際開發應用,是一本結合嵌入式Linux技術最新發展潮流和編者多年開發經驗,精心編寫的嵌入式Linux開發用書。全書內容共分三篇:第一篇為基礎篇,包括第1章和
2013-06-02 10:26:46
嵌入式Linux開發學習如何入門、如何深入?
介紹平臺移植的關鍵技術移植Linux內核到 ARM平臺 了解移植的概念能夠移植Linux內核移植Linux2.6內核到 ARM9開發板 5、嵌入式 Linux 下串口通信串行I/O的基本概念嵌入式
2016-10-14 14:37:33
嵌入式Linux怎么移植實時設備驅動程序?
Linux暴風雨般地占領了嵌入式系統市場。根據工業分析家分析,大約1/3到1/2的新的32位和64位嵌入式系統設計采用了Linux。嵌入式Linux已經在很多應用領域顯示出優勢,比如SOHO家庭網
2020-03-27 08:14:25
嵌入式Linux的USB設備結構是什么?
。嵌入式Linux是一款源代碼完全免費的新興操作系統,用戶可以用戶可以通過網絡等其他途徑免費獲得,并可以任意修改其源代碼,這是其他的操作系統做不到的。正是由于這一點,Linux得到了廣泛的應用。
2019-08-20 07:34:51
嵌入式Linux網絡驅動程序的體系結構和實現原理是什么
嵌入式Linux網絡驅動程序是什么嵌入式Linux網絡驅動程序的體系結構和實現原理如何將設備驅動模塊編譯進內核
2021-04-26 06:03:26
嵌入式Linux網絡驅動程序的實現原理是什么?
嵌入式Linux網絡驅動程序的結構是如何構成的?嵌入式Linux網絡驅動程序的實現原理是什么?如何將設備驅動模塊編譯進內核里?
2021-06-04 06:25:40
嵌入式linux學***匯總
和技術資料,相信對廣大的Linux開發人員和嵌入式工程師都具有非常重要的價值和意義。本書全面介紹了Linux設備驅動開發詳細內容,重點講解了驅動設計的硬件基礎、Linux內核及內核編程、Linux內核模塊
2020-06-08 08:31:35
嵌入式linux學習步驟
Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信熟悉文件I/O 編寫串口通信
2016-09-12 14:23:18
嵌入式linux學習步驟
開發板5、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉
2017-10-25 10:12:39
嵌入式linux學習步驟
開發板5、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉
2021-09-08 11:51:06
嵌入式技術:Linux驅動USB必須了解的四個描述符
嵌入式Linux下的USB設備驅動技術Linux以其穩定、高效、易定制、硬件支持廣泛、源代碼開放等特點,已在嵌入式領域迅速崛起,被國際上許多大型的跨國企業用作嵌入式產品的系統平臺。USB
2020-05-09 09:06:39
嵌入式學習步驟
2.6內核到 arm9開發板 6、嵌入式 Linux 下串口通信 串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠
2019-06-03 23:28:35
[嵌入式linux] 嵌入式學習分享:那些繞不開的技術點
。5. 嵌入式繞不開驅動很多人對驅動開發有技術情節,越是年輕的工程師越是這樣。驅動的開發本質上就是給外設配置參數,使其工作在期望的方式。linux下的驅動開發需要遵從linux的驅動框架,裸機的驅動開發
2020-04-16 09:51:11
什么是嵌入式Linux系統下的CGI程序設計技術?
隨著互聯網應用的普及,越來越多的信息化產品需要接入互聯網通過Web頁面進行遠程訪問。嵌入式Web系統提供了一種經濟、實用的互聯網嵌入式接入方案。這里結合一種嵌入式WebServer BOA來介紹嵌入式Linux系統下的CGI程序設計技術。
2019-09-20 07:21:39
基于Linux的USB設備驅動方法有什么優點?
嵌入式linux系統環境以其易于移植裁減、內核小、效率高、完整、原代碼開放及性能優異等特點,在嵌入式領域得到了非常廣泛的應用。Linux的USB設備端的源代碼中主要有USB device的海量存儲
2019-11-07 08:31:16
基于嵌入式Linux系統的鍵盤驅動該怎么設計?
隨著微處理器技術的不斷發展和數字化產品的普及,嵌入式系統的研究開發逐漸成為熱點,Linux也以其開源、穩定、可裁剪的優勢成為嵌入式操作系統的主流。在眾多的嵌入式系統中,鍵盤成為一種應用最為廣泛的輸入
2019-08-26 07:33:59
如何設計嵌入式Linux下的PCI設備驅動?
]。Linux因其開放源代碼以及穩定的性能,越來越受到廣大用戶青睞。同時,基于Linux內核的嵌入式操作系統應用勢頭強勁,開發基于Linux的設備驅動程序,具有很強的實用性和可移植性[2]。
2019-08-13 07:49:42
新手必看--嵌入式Linux學習步驟
開發板6、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉
2016-03-25 14:53:55
新手必看--嵌入式Linux學習步驟,教你怎么入門
開發板6、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉
2014-06-30 11:23:21
求嵌入式Linux系統開發技術
ARM開發板(初期買2410足夠),學驅動開發啥的。學完了以后,做幾個驅動,就可以做項目了。更多資源: http://www.superedu.com.cn/xuexi/jdsp/?op321嵌入式Linux系統開發技術詳解--基于ARM(完整版).pdf (9.82 MB )
2020-05-12 00:59:33
淺析input輸入子系統框架嵌入式Linux驅動
)------USB鍵盤驅動程序嵌入式Linux驅動筆記(五)------學習platform設備驅動嵌入式Linux驅動筆記(六)------淺析input輸入子系統框架嵌入式Linux驅動筆...
2021-11-05 06:47:56
嵌入式Linux系統開發基礎
了解嵌入式Linux系統Ø 從Linux內核到文件系統ü嵌入式Linux開發流程v嵌入式Linux開發內容Ø 驅動開發;§ 內核移植;• 內核特性開發;• 系統驗
2008-09-10 11:11:08
68
68嵌入式Linux設備驅動開發
嵌入式Linux設備驅動開發
Linux 設備驅動的基本概念Linux 設備驅動程序的基本功能Linux 設備驅動的運作過程常見設備驅動接口函數掌握LCD 設備驅動程序編寫步驟
2008-09-10 13:10:29
82
82嵌入式Linux的USB驅動添加及應用
驅動程序添加是嵌入式Linux開發的關鍵技術之一。本文主要分析為MCF5272 添加USB驅動程序的詳細過程, 簡述UFTP 協議(USB 文件傳輸協議), 并給出一個文件傳輸的應用示例。
2009-04-15 11:58:34
12
12嵌入式USB從設備驅動程序設計
本文通過基于S3C2410 的嵌入式USB 從設備驅動程序的實現,介紹嵌入式Linux 系統中的USB 從設備驅動程序的設計方法,同時介紹了USB 接口的一般原理和USB 通信的一般過程,以及嵌入式Li
2009-08-14 14:07:46
15
15嵌入式Linux下USB驅動的實現
基于Linux操作系統具有良好的開放性和較強的可移植性,在當前嵌入式操作系統中被廣泛采用;同時USB也具有極佳的通用性,是當前最為流行的通用外設接口。本文詳細的介紹編
2009-08-22 10:23:21
18
18基于Linux的嵌入式LCD設計
本文介紹了基于Linux 的嵌入式LCD 設計的實現,以ARM 處理器S3C2410X 嵌入式芯片為平臺,設計了嵌入式Linux 下的設備驅動程序和幀緩沖設備驅動程序,為同一類設備定義好struct file_op
2009-09-01 09:50:31
18
18基于嵌入式LINUX下CAN設備驅動程序設計
本文以嵌入式微處理器S3C2410 為主控制器,通過SPI 接口,采用MCP2510 控制器擴展CAN 總線接口。文章分析了Linux 下設備驅動程序的結構和工作原理,詳細論述了嵌入式Linux 操作系統
2010-01-06 17:10:45
21
21嵌入式Linux下USB藍牙設備驅動
隨著無線技術的不斷發展,藍牙技術的應用逐漸深入嵌入式系統。但由于其接口的兼容性問題,使其在嵌入式領域的應用大打折扣。在分析藍牙協議棧的體系結構、Linux藍牙協
2010-02-11 11:08:12
41
41嵌入式Linux字符設備驅動的設計與應用
描述了基于嵌入式Linux的字符設備驅動程序的設計方法和實現過程。以電機、數碼管、串口和mini鍵盤的驅動設計為例,詳細闡述了嵌入式linux下字符設備驅動設計中的關鍵技術,包括設
2010-02-23 15:45:47
24
24嵌入式Linux下PCSC驅動的設計與實現
本文分析了PCSC驅動的體系結構,針對嵌入式Linux平臺的基本特征,設計并實現了一個基于嵌入式Linux的PCSC驅動程序,實現了IFD與上層應用程序及下層智能卡之間的通訊。
2010-02-24 11:23:34
46
46嵌入式Linux字符設備驅動的設計與應用
描述了基于嵌入式Linux的字符設備驅動程序的設計方法和實現過程。以電機、數碼管、串口和mini鍵盤的驅動設計為例,詳細闡述了嵌入式linux下字符設備驅動設計中的關鍵技術,包括設
2010-07-14 17:31:23
31
31嵌入式Linux下可插拔輸入驅動機制研究
本文介紹了嵌入式linux下的輸入驅動接口,詳細分析了輸入驅動中如何實現可插拔機制,描述了USB人機接口設備和可插拔輸入模塊的接口,最后給出了一個我們將uclinux下ep93xx觸摸屏
2010-07-27 15:38:47
16
16基于嵌入式Linux的U盤驅動的分析與改進
U 盤作為一種便利的存儲設備,可以應用于嵌入式系統中,其應用的基礎就是對Linux 的USB Mass Storage 驅動的裁剪,以獲得所需的簡化的驅動程序。分析了Linux 下的USB mass storage 協議
2010-10-08 15:43:12
44
44嵌入式系統Linux及USB驅動開發
嵌入式ARM 處理器是當今世界上最流行的嵌入式處理器,廣泛應用于個人通信等嵌入式領域?;?b class="flag-6" style="color: red">Linux 良好的開放性和USB 總線極佳的通用性,本文通過在ARM920 T 處理器的開發板
2010-10-08 15:43:55
36
36嵌入式Linux
嵌入式Linux隨著Linux的迅速發展,嵌入式Linux現在已經有許多的版本,包括強實時的嵌入式Linux(如新墨西哥工學院的RT-Linux和堪薩斯大學的KURT-Linux)和一般的嵌入式Linux 版本(如uClin
2009-06-17 00:36:48
1108
1108基于嵌入式系統的USB(HID)設備
基于嵌入式系統的USB(HID)設備
目前嵌入式系統在數字化電子產品領域應用越來越廣泛。隨著其成本的降低,大有取代單片機的趨勢。 USB設備以其
2009-10-06 08:25:12
1516
1516
Linux2.6環境下USB設備的驅動實現
Linux2.6環境下USB設備的驅動實現
0 概述嵌入式linux系統環境以其易于移植裁減、內核小、效率高、完整、原代碼開放及性能優異等特點,在嵌入式領域得到了
2010-04-09 10:44:57
1458
1458
嵌入式Linux的USB驅動設計
本文主要介紹了 Linux 平臺的USB設備驅動開發的一般步驟方法和技巧,通過詳細介紹USB的相關概念和Linux中USB設備驅動程序的數據結構,框架和步驟,并通過設計和實現一個驅動的實例,
2011-06-08 17:15:48
49
49嵌入式Linux下高速USB主控制器的設計與實現
目前多數嵌入式系統僅支持基礎的USB低速或全速外設,不能滿足人們對高速數據傳輸的要求。為此,基于AT91RM9200平臺完成了高速USB的硬件設計和Linux操作系統下主機端驅動程序的開發。
2011-11-11 14:20:09
1757
1757
嵌入式主機上的USB海量存儲設備類
嵌入式主機上的USB海量存儲設備類重點論述基于USB的海量存儲(USB Mass Storage)設備功能在ARM嵌入式系統中設計。
2012-03-06 16:33:56
43
43嵌入式linux下USB開發
內容包括:
1.linux內核對USB規范的支持
2.USB主機驅動程序
3.USB設備驅動程序
4.USB HUb驅動程序
5.OHCI HCD
2016-01-04 18:30:26
35
35基于StrongARM嵌入式Linux系統下的USB通信實現
該文首先介紹以Intel StrongARM處理器和ISP1161USB主控制芯片為核心的,能實現USB通信的嵌入式硬件平臺并在簡要介紹Linux下驅動程序的原理和相關知識的基礎上 ,詳細介紹嵌入式Linux系統下的USB系統結構和USB驅動程序的開發。
2016-04-18 10:46:53
5
5ARM平臺嵌入式Linux下SPI設備連接
在嵌入式ARM平臺設備上,經常有在一個SPIbus上面掛接一個或者多個SPI設備的需求,由于掛載一個設備的情況比較簡單,本文主要就在嵌入式Linux環境下掛載多個SPI設備進行說明。
2017-09-16 11:47:59
5
5嵌入式Linux下的LCD驅動程序設計方案解析
底層,在內核源代碼中占較大比例,驅動程序開發逐漸成為嵌入式軟件開發中一項重要工作。應項目設計的需要完成了嵌入式Linux下的LCD驅動程序設計。 1 Linux下設備驅動程序 驅動程序從字面上可以理解為一類程序,這類程序的目的一般是驅動硬件正常工作
2017-10-30 10:24:30
0
0USB設備端驅動系統與嵌入式linux系統的實現
嵌入式 linux 系統環境以其易于移植裁減、內核小、效率高、完整、原代碼開放及性能優異等特點,在嵌入式領域得到了非常廣泛的應用。Linux 的 USB 設備端的源代碼中主要有 USB device
2017-10-31 16:15:48
4
4嵌入式linux學習步驟
ARM9開發板 5、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行
2018-07-09 12:00:41
923
923嵌入式linux學習步驟
移植Linux2.6內核到 ARM9開發板 5、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux應用軟件開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端
2018-07-24 10:56:51
618
618基于PXA255開發板外圍字符設備的嵌入式Linux字符設備驅動設計與應用
的驅動程序和應用程序的需求在成倍增長。本文通過實現對 PXA255開發板外圍字符設備(電機、數碼管、串口和 mini鍵盤)的操作和控制,詳細討論了嵌入式 linux字符設備驅動的設計與應用。
2018-08-21 10:19:30
1499
1499
學習嵌入式Linux系統和驅動開發
的基礎,就可以學習嵌入式Linux設備驅動開發了,重點掌握字符設備驅動開發,LCD屏設備驅動開發、觸摸屏設備驅動開發、USB設備驅動開發,網卡設備驅動開發。學完這些知識點并通過相關實驗驗證后,嵌入式Linux
2018-08-30 17:06:30
690
690嵌入式Linux應用開發
linux開發的隊伍非常龐大,網上有大量的嵌入式linux開發資料和源代碼,很多你需要實現的功能在網上基本都能找到相關源碼,參考一下別人寫的源碼,這樣可以極大的提高自己的工作效率和技術能力?! 〗鼛啄?/div>
2018-10-10 16:16:43
964
964嵌入式Linux系統和驅動開發
、linux的中斷系統、Linux內核的移植等。有了內核的基礎,就可以學習嵌入式Linux設備驅動開發了,重點掌握字符設備驅動開發,LCD屏設備驅動開發、觸摸屏設備驅動開發、USB設備驅動開發,網卡設備驅動
2018-10-11 11:11:16
1137
1137嵌入式Linux設備驅動程序開發基礎知識總結免費下載
本文檔的主要內容詳細介紹的是嵌入式Linux設備驅動程序開發基礎知識總結免費下載
嵌入式Linux設備驅動程序分類靜態加載的驅動程序動態加載的驅動程序
Linux將設備按照功能特性劃分為三種類型:字符設備,塊設備和網絡設備。
2018-10-23 16:10:56
13
13嵌入式Linux串口擴展的驅動設計方案解析
本方案介紹WK2X系列UARTs在嵌入式Linux(Android)下擴展多串口方案,尤其是嵌入式Linux串口擴展的驅動設計方案的思路和原則。
2020-08-31 15:35:12
1845
1845
ARM11嵌入式系統Linux下LCD的驅動的設計
ARM11嵌入式系統Linux下LCD的驅動的設計(嵌入式開發啥意思)-ARM11嵌入式系統Linux下LCD的驅動設計? ? ? ? ?
2021-07-30 14:53:05
24
24基于嵌入式Linux的人機交互接口設備驅動程序的研究和實現
基于嵌入式Linux的人機交互接口設備驅動程序的研究和實現(python嵌入式開發前景)-隨著信息技術的發展和數字化產品的普及,嵌入式系統的研究開發逐漸成為熱點。而Linux又以其獨特的優勢成為
2021-08-04 13:10:49
8
8【嵌入式】基于ARM的嵌入式Linux開發總結
--arm-linux進程編程嵌入式知識點復習六 --arm-linux網絡編程嵌入式知識點復習七 --linux字符型設備驅動初步嵌入式知識點復習一1、 嵌入式系統的一般組成結構2、嵌入式硬件系統的結構(1)...
2021-10-19 18:32:42
28
28【嵌入式】構建嵌入式Linux系統(uboot、內核、文件系統)
嵌入式Linux系統知識架構及層次嵌入式Linux系統構成及啟動略析嵌入式Linux三劍客之uboot技術嵌入式Linux三劍客之內核技術嵌入式Linux三劍客之文件系統技術知識架構及層次Linux
2021-10-20 18:20:59
42
42嵌入式Linux UART
文章目錄前言串口連接串口測試C代碼微信公眾號前言這是前篇:嵌入式Linux i.MX開發板嵌入式Linux NFS嵌入式Linux 交叉編譯工具鏈嵌入式Linux LED GPIO嵌入式Linux
2021-11-01 16:26:30
8
8嵌入式linux編譯 ko,嵌入式linux:編譯linux驅動模塊
在嵌入式系統應用中,嵌入式linux是非常重要的一個方面,而linux驅動編譯又是嵌入式linux中至關重要的一個環節。下面,本文將詳細講解如何編譯linux驅動模塊。首先,我們要了解一下模塊
2021-11-01 16:31:27
9
9小白入門嵌入式Linux開發板,嵌入式linux驅動如何學?小白入門必看
嵌入式發展這么快,很多人都躋身在嵌入式行業,對于新手小白來說,學習嵌入式還是會遇到一些問題,就比如說嵌入式linux驅動, 驅動程序開發是嵌入式Linux項目中工作量大的一部分內容,開發出高質量
2021-11-01 16:32:45
12
12嵌入式linux和物聯網,嵌入式Linux或RTOS:用于物聯網
嵌入式Linux或RTOS:用于物聯網2021-05-10嵌入式Linux或RTOS:用于物聯網嵌入式Linux將Linux內核用于嵌入式設備,但與標準Linux操作系統有很大不同。其在嵌入式系統中
2021-11-01 16:33:01
15
15嵌入式Linux LED GPIO
文章目錄前言LED終端腳本C語言GPIO子系統微信公眾號前言這是前2篇:嵌入式Linux i.MX開發板嵌入式Linux NFS嵌入式Linux 交叉編譯工具鏈Linux 中的三大類驅動:字符設備
2021-11-01 17:05:47
11
11嵌入式linux報警,嵌入式Linux下LED報警燈驅動設計及編程.doc
嵌入式Linux下LED報警燈驅動設計及編程《嵌入式Linux下LED報警燈驅動設計及編程》實驗報告學生姓名:學 號:專業班級:指導教師:完成時間:實驗5 嵌入式Linux下LED報警燈驅動
2021-11-01 17:21:43
6
6嵌入式linux和物聯網,嵌入式Linux或RTOS:用于物聯網
嵌入式Linux或RTOS:用于物聯網2021-05-10嵌入式Linux或RTOS:用于物聯網嵌入式Linux將Linux內核用于嵌入式設備,但與標準Linux操作系統有很大不同。其在嵌入式系統中
2021-11-01 17:37:39
17
17嵌入式Linux驅動筆記--轉自風箏丶
)------USB鍵盤驅動程序嵌入式Linux驅動筆記(五)------學習platform設備驅動嵌入式Linux驅動筆記(六)------淺析input輸入子系統框架嵌入式Linux驅動筆...
2021-11-02 14:06:16
12
12有無操作系統的嵌入式Linux驅動設備有何區別?
有無操作系統的嵌入式Linux驅動設備有何區別? 嵌入式系統是指集成電子設備上的計算機系統,通常用于控制、監測、操作或處理某些物理或機械過程。在嵌入式系統中,涉及到設備驅動程序的開發,這些程序的作用
2023-10-29 17:29:50
1359
1359
電子發燒友App


評論