亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: linux usb驅(qū)動(dòng)程序和用戶程序問(wèn)題 [打印本頁(yè)]

作者: zhuimenglizhi    時(shí)間: 2013-09-17 16:23
標(biāo)題: linux usb驅(qū)動(dòng)程序和用戶程序問(wèn)題
linux usb驅(qū)動(dòng)以模塊方式加載到內(nèi)核中,驅(qū)動(dòng)程序有read(),write()等函數(shù),數(shù)據(jù)采集設(shè)備通過(guò)usb傳輸數(shù)據(jù),需不需要編寫(xiě)用戶程序?
usb驅(qū)動(dòng)程序能夠自動(dòng)的讀寫(xiě)數(shù)據(jù)?看到一些例驅(qū)動(dòng)程序中只有一些獨(dú)立的函數(shù),沒(méi)有main函數(shù)

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE(“GPL”);
static int hello_init(void)
{
printk(KERN_ALERT “Hello World!\n”);
return 0;
}
static int hello_exit(void)
{
printk(KERN_ALERT “GOODBYE!\n”);
}
module_init(hello_init);
module_exit(hello_exit);
這樣一個(gè)驅(qū)動(dòng)程序模版,再添加一些read(),write()等函數(shù),能夠自動(dòng)讀寫(xiě)數(shù)據(jù)?這是寫(xiě)?yīng)毩⒌淖雍瘮?shù),好像調(diào)用才能起作用吧,那是不是要寫(xiě)一個(gè)usb用戶程序調(diào)用,read(),write()等函數(shù),才能傳輸數(shù)據(jù)?
作者: xifanlover    時(shí)間: 2013-09-17 16:41
只能說(shuō)簡(jiǎn)單的字符設(shè)備是這樣的,用戶層的read和write函數(shù)會(huì)調(diào)用驅(qū)動(dòng)層你自己寫(xiě)的read和write函數(shù)。比如你驅(qū)動(dòng)層有dev_read和dev_write函數(shù),那用戶層的read和write函數(shù)就是調(diào)用這2個(gè)函數(shù)。通過(guò)結(jié)構(gòu)體file_opreation綁定。但是塊設(shè)備和網(wǎng)絡(luò)設(shè)備就不是這樣的了。usb也是很復(fù)雜的。所以你需要去看看usb驅(qū)動(dòng)程序,仔細(xì)了解下。
作者: wwxxxxll    時(shí)間: 2013-09-17 17:46
usb驅(qū)動(dòng)程序 這個(gè)問(wèn)題首先
主機(jī)usb有兩層
一個(gè)是usb控制器驅(qū)動(dòng),我想你已經(jīng)有了
還有usb設(shè)備驅(qū)動(dòng) 這個(gè)就什么形態(tài)都有了
usb的網(wǎng)卡 那就是網(wǎng)絡(luò)層次結(jié)構(gòu) 用戶用socket
usb的hid (鼠標(biāo) 鍵盤) 通過(guò)輸入子系統(tǒng) 可以用設(shè)備/dev/input/eventX調(diào)用
usb的骨架程序 skel 會(huì)生成/dev/skelX就和你說(shuō)的字符設(shè)備一樣
usb的存儲(chǔ)器(u盤) 那就是塊設(shè)備 一般是/dev/sda(上次有個(gè)同志的是8:4),這個(gè)通過(guò)掛載
等等
驅(qū)動(dòng)群:
163617970




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2