嵌入式Linux的USB驅(qū)動(dòng)設(shè)計(jì)
函數(shù)首先調(diào)用alloc_tty_driver()函數(shù)分配一個(gè)串口驅(qū)動(dòng)描述符;然后設(shè)置串口驅(qū)動(dòng)的屬性,包括驅(qū)動(dòng)的主從設(shè)備號(hào)、設(shè)備類型、串口初始化參數(shù)等;串口驅(qū)動(dòng)描述符設(shè)置完畢后,調(diào)用usb_register()函數(shù)注冊(cè)USB串口設(shè)備。
2. 2 驅(qū)動(dòng)釋放函數(shù)
2.3 串口操作函數(shù)
USB串口設(shè)備驅(qū)動(dòng)使用了一個(gè)tty_operations類型的結(jié)構(gòu),該結(jié)構(gòu)包含了串口的所有操作,定義如下:
按上述的步驟和方法通過lnsmod命令成功實(shí)現(xiàn)了USB驅(qū)動(dòng)程序的加載,成功的通過USB串口進(jìn)行了數(shù)據(jù)的讀寫。
3 結(jié)論
新出的Linux2.6內(nèi)核加入了對(duì)USB2.0的支持,重新定義了usb_class_driver結(jié)構(gòu)體。同時(shí)對(duì)探測(cè)函數(shù)probe和usb_submit_urb做了修改,包含了advanced linux sound Archiecture可以更安全的使用USB設(shè)備。本文引用地址:http://butianyuan.cn/article/149731.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論