usb host和device的關系
疑問1:我們通常所用的u盤應該是usb device吧?我想這個不用多說,呵呵。
===============
恩.
==============
疑問2:我們通常看到的u 盤里面的構造是否也是總線結構的,比如有一個usb總線什么的?
=============
內部就沒有USB總線了。可以是一個MCU控制一個存儲芯片(例如FLASH)和USB接口芯片。也可以是其它的專用芯片.
=============
疑問3:usb術語中的endpoint是否在host和device端都存在,為什么我在datasheet中只在device端的controller看到,而在host端只看到了endpoint descriptor?
============
endpoint只在device端存在.
============
疑問4:當我們將u 盤插到usb host端給出的插口后,是否可以認為是host端的endpoint和device端的endpoint之間在做具體的數據傳輸?
============
在USB HOST端管理的是管道,是一種邏輯上的數據通道.
============
疑問5:在u盤的flash應該有一些固定的代碼用來描述它的?這個就是規范中提到的device descriptor,host通過讀取並解析它來確定device的類型?
=============
是的,不光是設備描述符,還有配置描述符,接口描述符,端點描述符等。對於U盤,通常它的類型是在接口描述符中描述.
=============
疑問6:usb驅動程序,host和device的都駐留在系統啟動后的內存中嗎?特別想知道的是,device 的驅動是在插入后才加載還是在未插入之前就已經加載?
============
device驅動是在USB設備插入后才加載到內存中的.
============
疑問7:如果我要開發一個板子的usb驅動,怎樣能夠證明我的驅動已經完成並能正常工作呢?需要什么工具嗎?
===========
自己寫個應用軟件測試就可以了。
===========
來自為知筆記(Wiz)byljh