新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 詳解嵌入式Linux的USB驅(qū)動設(shè)計

詳解嵌入式Linux的USB驅(qū)動設(shè)計

作者: 時間:2014-01-22 來源:網(wǎng)絡(luò) 收藏

詳解嵌入式Linux的USB驅(qū)動設(shè)計

  1.3.4 設(shè)備注銷

  skel_disconnect()函數(shù)在注銷設(shè)備時被調(diào)用,定義如下:

詳解嵌入式Linux的USB驅(qū)動設(shè)計

2 USB串口驅(qū)動

  2. 1 驅(qū)動初始化函數(shù)

  usb_serial_init()函數(shù)是一個典型的USB設(shè)備驅(qū)動初始化函數(shù),定義如下:

詳解嵌入式Linux的USB驅(qū)動設(shè)計

  函數(shù)首先調(diào)用alloc_tty_driver()函數(shù)分配一個串口驅(qū)動描述符;然后設(shè)置串口驅(qū)動的屬性,包括驅(qū)動的主從設(shè)備號、設(shè)備類型、串口初始化參數(shù)等;串口驅(qū)動描述符設(shè)置完畢后,調(diào)用usb_register()函數(shù)注冊USB串口設(shè)備。

  2. 2 驅(qū)動釋放函數(shù)

詳解嵌入式Linux的USB驅(qū)動設(shè)計

  2.3 串口操作函數(shù)

  USB串口設(shè)備驅(qū)動使用了一個tty_operations類型的結(jié)構(gòu),該結(jié)構(gòu)包含了串口的所有操作,定義如下:

詳解嵌入式Linux的USB驅(qū)動設(shè)計

  按上述的步驟和方法通過lnsmod命令成功實現(xiàn)了程序的加載,成功的通過USB串口進行了數(shù)據(jù)的讀寫。

  3 結(jié)論

  新出的2.6內(nèi)核加入了對USB2.0的支持,重新定義了usb_class_driver結(jié)構(gòu)體。同時對探測函數(shù)probe和usb_submit_urb做了修改,包含了advanced linux sound Archiecture可以更安全的使用USB設(shè)備。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

關(guān)鍵詞: USB驅(qū)動 Linux USB接口

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉