嵌入式系統(tǒng)USB Gadget驅動研究與實現(xiàn)
發(fā)布時間:2018-11-10 14:02
【摘要】:Linux以其開源、易于移植和便于裁剪性,越來越多地被應用于嵌入式系統(tǒng)。Linux內核支持2種主要類型的USB驅動程序:主機側和設備側驅動程序。主機側USB驅動程序控制與其連接的USB設備從而使用設備的功能;設備側USB驅動程序(USB GadgetDriver)控制設備如何與主機通信從而使其對主機表現(xiàn)出特定的功能,,此時的設備應理解為運行Linux的嵌入式系統(tǒng)。迄今為止對于Linux系統(tǒng)中USB設備驅動開發(fā)的研究非常豐富,但是主要是主機側驅動程序的研究和實現(xiàn),而對USB Gadget Driver的研究和實現(xiàn)很少,本論文對TQ2440嵌入式開發(fā)平臺,對Linux系統(tǒng)下的USB Gadget Driver進行研究,并給出了具體的實現(xiàn)方案。 論文的主要研究工作包括: (1)在對嵌入式目標平臺開發(fā)環(huán)境、Linux內核進行介紹的基礎上,給出了針對目標平臺配置和編譯Linux內核并移植到目標平臺的方法。 (2)對Linux的設備驅動模型和驅動框架進行了深入理解和分析,并研究了USB協(xié)議和USB主機端驅動及Linux USB Gadget驅動在Linux上的實現(xiàn)過程,內容包括有USB的通訊模型、USB總線傳輸?shù)膮f(xié)議和USB設備驅動程序開發(fā)的知識。 (3)給出了Linux下主機端和Gadget端驅動程序設計過程、技術細節(jié)、移植過程、實現(xiàn)過程和在目標平臺上調試等具體方法,包括實現(xiàn)模擬網(wǎng)卡方案和用戶空間文件操作接口方案。 為完成這個嵌入式Linux開發(fā)平臺的項目,閱讀并改寫了大量的內核源代碼,并且實現(xiàn)在不同內核版本上的移植,對Linux內核的底層實現(xiàn)機制和USB驅動框架進行了研究與探索。論文對在其它嵌入式平臺進行內核移植或USB驅動開發(fā)也可以起到借鑒作用。
[Abstract]:Linux is widely used in embedded systems because of its open source, easy portability and easy tailoring. The Linux kernel supports two main types of USB drivers: host side and device side. The mainframe side USB driver controls the USB device connected with the host side to use the function of the device; The device side USB driver (USB GadgetDriver) control device how to communicate with the host to make it show a specific function to the host the device should be understood as an embedded system running Linux. Up to now, the research on USB device driver in Linux system is very rich, but it is mainly the research and implementation of host side driver, but the research and implementation of USB Gadget Driver is very few. This paper focuses on TQ2440 embedded development platform. The USB Gadget Driver in Linux system is studied, and the implementation scheme is given. The main work of this paper is as follows: (1) based on the introduction of the embedded target platform development environment and the Linux kernel, the method of configuring, compiling and transplanting the Linux kernel to the target platform is given. (2) the device driver model and driver framework of Linux are deeply understood and analyzed, and the implementation process of USB protocol, USB host driver and Linux USB Gadget driver on Linux is studied, including the communication model with USB. USB bus transport protocol and USB device driver development knowledge. (3) the design process, technical details, transplantation process, realization process and debugging on the target platform of the driver on the host and Gadget side under Linux are given, including the implementation of the analog network card scheme and the user space file operation interface scheme. In order to complete the project of the embedded Linux development platform, we read and rewrite a lot of kernel source code, and realize the transplantation on different kernel versions. We study and explore the underlying implementation mechanism of Linux kernel and the USB driver framework. This paper can also be used for reference for kernel porting or USB driver development in other embedded platforms.
【學位授予單位】:華南理工大學
【學位級別】:碩士
【學位授予年份】:2012
【分類號】:TP368.1;TP333.2
本文編號:2322664
[Abstract]:Linux is widely used in embedded systems because of its open source, easy portability and easy tailoring. The Linux kernel supports two main types of USB drivers: host side and device side. The mainframe side USB driver controls the USB device connected with the host side to use the function of the device; The device side USB driver (USB GadgetDriver) control device how to communicate with the host to make it show a specific function to the host the device should be understood as an embedded system running Linux. Up to now, the research on USB device driver in Linux system is very rich, but it is mainly the research and implementation of host side driver, but the research and implementation of USB Gadget Driver is very few. This paper focuses on TQ2440 embedded development platform. The USB Gadget Driver in Linux system is studied, and the implementation scheme is given. The main work of this paper is as follows: (1) based on the introduction of the embedded target platform development environment and the Linux kernel, the method of configuring, compiling and transplanting the Linux kernel to the target platform is given. (2) the device driver model and driver framework of Linux are deeply understood and analyzed, and the implementation process of USB protocol, USB host driver and Linux USB Gadget driver on Linux is studied, including the communication model with USB. USB bus transport protocol and USB device driver development knowledge. (3) the design process, technical details, transplantation process, realization process and debugging on the target platform of the driver on the host and Gadget side under Linux are given, including the implementation of the analog network card scheme and the user space file operation interface scheme. In order to complete the project of the embedded Linux development platform, we read and rewrite a lot of kernel source code, and realize the transplantation on different kernel versions. We study and explore the underlying implementation mechanism of Linux kernel and the USB driver framework. This paper can also be used for reference for kernel porting or USB driver development in other embedded platforms.
【學位授予單位】:華南理工大學
【學位級別】:碩士
【學位授予年份】:2012
【分類號】:TP368.1;TP333.2
【參考文獻】
相關期刊論文 前4條
1 楊偉;劉強;顧新;;Linux下USB設備驅動研究與開發(fā)[J];計算機工程;2006年19期
2 武甲東,陳新華,張志敏;Linux下USB主機控制器驅動的設計實現(xiàn)[J];山東科技大學學報(自然科學版);2005年02期
3 陳青松;王健;;通用串行總線數(shù)據(jù)傳輸[J];計算機工程與設計;2006年11期
4 鄭智;;嵌入式Linux下USB驅動程序開發(fā)研究[J];武漢理工大學學報(信息與管理工程版);2006年07期
相關碩士學位論文 前3條
1 熊春杰;Linux內核移植與USB驅動開發(fā)[D];電子科技大學;2007年
2 程科;嵌入式Linux設備驅動程序的設計與研究[D];電子科技大學;2007年
3 張浩;嵌入式Linux下USB接口設備驅動程序的研究與實現(xiàn)[D];重慶大學;2008年
本文編號:2322664
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2322664.html
最近更新
教材專著