久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇VxWorks專區VxWorks技術討論區 → vxworks(接上)


  共有8572人關注過本帖樹形打印

主題:vxworks(接上)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
vxworks(接上)  發帖心情 Post By:2010-11-17 10:39:27

 (2)“熱插拔”調用。執行順序與其意義如下:
Boot Code里調用:
a.USB class driver初始化入口點;
b.USB class driver調用usbdlnitialize();
Hot-Swap code調用:
c.Hot-Swap 鑒別USB主控制器的連接或斷開;
d.Usbdlnitialize();
e.UsbdPciConfigHeaderGet():讀USB主控制器配置頭;
f.UsbdHedAttaeh():連接HCD,將其作為特定的主控制器。
   

       因為熱插拔可以在任何時刻發生,所以USBD和其Client都必須被寫成可以動態識別USB設備被插入還是被拔出。當主控制器連接到系統時,USBD 自動地鑒別與其相連的設備,并通知相關的client;同樣,拔出設備時,也要通知相關設備。重要的是,USBD 的client,比如USB class driver,在client初始化時,從不設想特定的設備已經出現;而在其他時候,這些驅動隨時檢查設備是否已經連接到系統上。

       4.4 總線任務
   

       對每一個連接到USBD 的主控制器,例如插入或拔出設備,USBD都會產生一個總線任務,來監控總線事件。一般情況下,這些任務是休眠的(不消耗CPU),只有當USB hub報告它的一個端口有變化時,它們才被喚醒。每一個USBD總線任務有VxWorks任務名:UsbdBus。
   

       雖然HCD委托USBD來管理,但有可能HCD 親自監視主控制器事件。例如WindRiver提供了UHCI和OHCI的HCD來創造這樣的任務。對于WindRiver的UHCI模塊(usbHcdUheiLib),后臺任務只是被周期地喚醒,目的是為了檢查超時IRP(用一個中斷來通知OHCI根hub發生改變)。

       用以在USBD和USB之問進行通信的client模塊,除了調用usbdlnitialize()外,必須調用usbClientRegister()使其在USBD注冊。當一個client注冊到USBD時,USBD把每一個以后將要用到的client的數據結構定位,并跟蹤那個client的請求。
   

       對于每一個client,在client注冊過程中,USBD還創建了一個callback任務。在成功注冊client后,USBD返回一個句柄USBD_CLIENT_HANDLE。以下對USBD的調用,將會用到這個句柄。當所有句柄都不需要時,可以調用usbdClientUnregister()來釋放每一個client的數據結構和callback任務。注意:此時所有client要求的任務都會被取消。

       例如:注冊一個叫USBD_TEST的client,再注銷。
       注冊:usbdClientRegister("USBD_TEST',&usbdClientHandle);
       注銷:usbdClientUnregister(usbdClientHandle);

       4.5 client回調(callback)任務
   

       USB操作是嚴格遵守時序的。例如為使中斷傳輸和同步傳輸正確工作.需要依靠時鐘中斷。在一個有幾個不同client出現的主系統中.總是有可能出現一個client打斷其它client傳輸事件的發生。WindRiver USBD建議用client callback任務來解決這個問題。許多USB事件可以導致一個USB client的callback任務。例如, 每當USBD 完成USB IRP后,client的IRP callback函數被激活。同樣,當USBD識別出一個動態連接事件后,會激活一個或更多的動態attach callback操作。但不是馬上激活這些回調操作, 而是安排合適的相應的USBD client的回調任務來執行callback。
   

       一般的情況下,每一個client的callback任務處于“休眠”態(阻塞態)。每一個client的callback,繼承了usbdClientRegister()產生的VxWorks任務優先級。這確保了每一個callback按其client的任務優先級來執行,而且可以利用優先級來寫client,保證對時間要求嚴格的USB傳輸。由于每一個client有它自己的callback任務,因此在callback期間,它們有很大的靈活性決定可以做什么。例如,允許在不破壞USBD或其它USBD client性能的條件下,使callback執行代碼運行至阻塞態。
    Client callback task有VxWorks任務名:tUsbdCln。

       4.6 USBD內部Client
   

       當第一次初始化USBD時,由USBD產生并注冊一個內部client,以跟蹤USB請求。
   

       USBD 可以產生什么類型的USB請求呢? 所有USBD與USB設備的傳輸,均利用調用USBD client的形式來完成。例如, 當一個設備第一次連接到系統時.USBD用一個控制管道(control pipe) 自動地創建設備需要的所有的control pipe,即USBD client要用usbdPipeCreate()來創建一個與USB endpoint0通話的通道,然后所有USBD 內部、外部client通過這個管道來發送諸如usbdDescriptorGet()或usbdFeatureGet()等的函數,進行操作。
   

       所以,USBD 的一個機制就是USBD 循環利用它自己的entry point,而內部chent跟蹤這些請求。

       4.7 動態連接的注冊
   

       每當一個特定類型的設備插入或拔出時,USBD client都通知上一層。利用調用usbdDynamicAttachRegister()操作,client可以指定一個callback操作,以便可以獲取這樣的通知。
   

       USB設備類型用class,subclass,protocol來區別。標準的USB 類在usb.h 中定義為USB_CLASS_XXXX。Subclass和protocol根據class來定義, 因此這些常數根據特定的class在頭文件中定義。
   

       有時, 一個client當利用usbdDynamicAttachRegister()進行注冊時,只對特定的class,subclass,protocol感興趣。例如,USB鍵盤類驅動usbkeyboardLib, 注冊了Human Device Interface (HID) 類,subclass 是USB_SUBCLASS_HID_ BOOT,protocol是USB_PROTOCOL_HID_BOOT _KEYBOARD。通過callback機制的響應,每當一個設備完全符合這樣的標準, 從設備上插入或拔出時,SBD便通知給keyboard class driver。而在其它情況下,client關注的范圍更廣泛了。常量USBD_NOTIFY(定義在usbdLib.h)可以替代任意的class,subclass,protocol。例如,USB打印機USB驅動,usbPrinterLib, 其class等于USB_CLASS_PRINTER,subclass 等于USB_SUBCLASS_PRINTER (usbPrinter.h),protocol等于USBD_ NOTIFY_ ALL。典型的,當一個client只調用一次usbdDynamicAttachRegister()時,對一個client能擁有的并發通知請求數目沒有限制。

       4.8 Node ID
   

       USB設備一般用USBD_NODE_ID來區別。從其作用來看,USBD_ NODE_ ID 是USBD 用來跟蹤一個設備的句柄。它與USB設備真正的USB地址無關。這表明client并不真正關心想要了解設備是物理上與哪一個USB主控制器相連。應用為每個設備抽象定義的Node ID, 使client可以不用考慮物理設備的連接細節以及USB地址分配, 并允許USBD 在其內部對這些進行詳細的管理。
   

       當一個client通知有一個設備連接或斷開時,USBD經常通過USBD_NODE_ID來定位設備。同樣,當一個client想通過USBD與一個特定的設備通信時,它必須向USBD傳遞那個設備的USBD_NODE_ID。

       4.9 總線編號(bus enumeration)操作
   

       usbdLib模塊提供了usbdBusCountGet(),usbdRootNodeldGet(),usbdHubPortCountGet(),usbdNodldGet()操作。它們被一起稱作總線編號操作。它們使USBD Client對連接到每一個主控制器上的設備進行編號。
   

       這些操作對于診斷程序和測試工具很有用,例如usbTool(WindRiver提供的一個測試工具)。但是,利用它們編號之后,調用者無法知道USB的拓撲結構是否變化。因此, 建議USB class driver的開發者不要用這些操作。

       4.10 數據傳輸
   

       一旦client配置完成一個設備,就開始利用USBD提供的管道和傳輸功能與設備進行數據交換。傳輸種類(分為控制、塊、中斷和同步傳輸)用一個USB_IRP數據結構來描述。 USB_IRP 的具體描述請參見HCD_FUNC_IRP_SUBM1T。USB數據傳輸被定位于每一個設備的特定endpoint。在USBD client和特定的設備endpoint之間的通道被稱作管道(pipe)。每一個管道有以下若干特性:
USBD_NODE_ID;
設備的endpoim 數目;
數據傳輸方向;
帶寬需求;
延時需求。
   

        為了和設備交換數據,client必須先創建管道。作為結果,USBD得到了一個USBD_PIPE_HANDLE,它被用于隨后對這個管道的所有client操作。
   

       當client企圖創建一個管道時,USBD會檢查是否有足夠的可用帶寬。對于中斷和同步傳輸,帶寬限制是必需的。USBD不允許把90% 以上的可用帶寬分配給中斷和同步管道;而對于控制和塊傳輸,則沒有帶寬的限制。同時,保證至少10% 的帶寬用于控制傳輸,對塊傳輸則不保證會提供任何可用帶寬。
數據傳輸的具體過程:

       (1)創建pipe :usbdPipeCreate(usbdClient Handle,nodeld,endpoint,configvalue,interface,USB_XFRTYPE_BULK,USB_ DIR_OUT,maxPacketSize,0,0,&outPipeHandle);
       (2)定義callback:ourlrpCallback(pvoid P);
       (3)初始化IRP的數據結構;
       (4)發送IRP:usbdTransfer(usbdChentHandle,outPipeHandle,&irp)。

       5 、小結
   

       USB在VxWroks下的從下至上驅動棧分為HC、UCD、USBD和Client Module四層,每一層都相對獨立,并為上一層提供了屏蔽該層次具體特征的接口。作者所說的USB驅動,實際上主要在USBD這一層次上完成。具體分為Chent注冊,注銷,創建pipe ,配置,數據發送,以及各回調函數。當正確地依次調用時, 會根據回調函數的狀態和返回值,按正確的時序進行完整的數據傳輸。
   

       上述設計思想構成了VxWorks下USB設備應用的基礎。作者的研究詳細地分析了VxWorks的USB協議棧,證明了該方案的可行性,同時又給出了合理的實現方法。作為實踐成果,作者已在VPN網關證書讀取系統中,利用該思想編寫的驅動,順利讀出存儲在USB設備中的設備證書和管理員證書,且運行情況良好。作者認為,文中提到的模型完全可以勝任解決USB設備在VxWorks下的應用所面臨的技術難題


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

vxworks(接上)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
亚洲激情五月婷婷| 欧美一区二区久久久| 成人激情av网| 久久99国产精品久久99| 午夜视黄欧洲亚洲| 日韩高清不卡一区二区三区| 丝袜亚洲另类丝袜在线| 秋霞电影网一区二区| 久久se精品一区精品二区| 激情小说欧美图片| 99久久国产综合精品色伊| 91色porny蝌蚪| 久久偷窥视频| 日本高清无吗v一区| 色视频欧美一区二区三区| 欧美亚洲综合久久| 精品国产污网站| 亚洲欧美自拍偷拍| 日本一不卡视频| 成人手机电影网| 国产亚洲一区二区三区在线播放| 日本精品视频一区| 欧美日韩五月天| 久久青草欧美一区二区三区| 亚洲精品成人在线| 久久成人麻豆午夜电影| 99视频免费观看蜜桃视频| 日韩精品欧美专区| 欧美精品久久久久久久多人混战| 精品国产亚洲一区二区三区在线观看 | 视频在线精品一区| 欧美日韩成人综合在线一区二区| 久久精品日产第一区二区三区高清版 | 日本在线不卡视频| 91小视频免费看| 日韩av电影免费播放| 欧美一区二区三区视频| 中文字幕在线不卡一区| 激情综合网av| 久久久久久久久久久久久久久久av | 色综合久久综合网| 久久综合久久综合九色| 亚洲国产视频在线| 97久久超碰精品国产| 中文字幕av日韩精品| 欧美国产日本韩| 麻豆91在线看| 日本午夜精品一区二区三区| 欧美成人乱码一区二区三区| 丝袜美腿亚洲色图| 国产女人水真多18毛片18精品| 欧美日韩一级视频| 一区二区三区在线播放| 91丨porny丨首页| 在线视频欧美精品| 亚洲视频图片小说| 91麻豆精东视频| 91麻豆精品国产自产在线观看一区| 樱花影视一区二区| 99精品欧美一区二区蜜桃免费 | 日韩av电影免费在线| xf在线a精品一区二区视频网站| 日日摸夜夜添夜夜添国产精品| 97人人澡人人爽| 欧美精选一区二区| 日韩中文字幕一区二区三区| 狠狠久久综合婷婷不卡| 欧美精品一区男女天堂| 国产最新精品免费| 亚洲国产欧美一区二区三区不卡| 日本一二三四高清不卡| 成人不卡免费av| 3d动漫精品啪啪一区二区竹菊| 亚洲v精品v日韩v欧美v专区| 成人动漫视频在线观看免费| 欧美一二三四区在线| 久久精品国产精品青草| 亚洲精品在线免费看| 国产精品久久久久7777按摩| 丁香激情综合国产| 欧美美女bb生活片| 麻豆精品国产传媒mv男同| 色综合久久久久久久久五月| ...av二区三区久久精品| 99精品视频在线观看| 精品国产一区二区三区四区四| 国产高清精品网站| 欧美日本一区二区三区四区| 蜜桃精品视频在线| 欧美做爰猛烈大尺度电影无法无天| 亚洲国产cao| 日韩欧美在线电影| 亚洲国产精品人人做人人爽| 奇米精品在线| 亚洲午夜一区二区| 婷婷久久伊人| 午夜久久久久久久久| 日韩精品伦理第一区| 亚洲综合一区在线| 日韩一区免费观看| 视频一区中文字幕国产| 一区二区在线观看网站| 首页国产欧美日韩丝袜| 色哟哟一区二区| 奇米精品一区二区三区在线观看| 一区二区三区四区五区精品| 天天综合色天天综合色h| 亚洲免费精品视频| 日本欧美肥老太交大片| 欧美丝袜丝nylons| 国产美女一区二区| 精品国产伦一区二区三区免费| 播五月开心婷婷综合| 国产午夜亚洲精品午夜鲁丝片 | 国产麻豆午夜三级精品| 欧美日韩一级片网站| 国产伦理精品不卡| 精品久久久久久久久久久久包黑料| 成人午夜视频在线观看| 久久色在线观看| 欧美一区二区影视| 日本va欧美va欧美va精品| 欧美午夜精品久久久| 高清视频一区二区| 久久精品一区二区三区四区| 国产精品一码二码三码在线| 亚洲精品五月天| 色哟哟国产精品免费观看| 国产精品一级片| 国产欧美日韩视频在线观看| 欧美一区2区三区4区公司二百| 丝袜美腿亚洲色图| 日韩一级完整毛片| 九九九九精品九九九九| 五月天精品一区二区三区| 欧美日韩国产美| 高清视频一区| 亚洲777理论| 欧美一区二区视频在线观看| 粉嫩精品一区二区三区在线观看| 亚洲狼人国产精品| 欧美吻胸吃奶大尺度电影| 91在线你懂得| 亚洲国产精品尤物yw在线观看| 日韩一级片在线观看| 久久国产精品一区二区三区| 蜜臀av亚洲一区中文字幕| 久久久亚洲国产美女国产盗摄 | 天堂久久久久va久久久久| 日韩视频一区二区| 免费av在线一区二区| 韩国三级在线一区| 国产精品久线观看视频| 欧美唯美清纯偷拍| 国产精品伊人日日| 日韩制服丝袜先锋影音| 精品国产成人在线影院| 日韩欧美亚洲日产国产| 成人免费毛片片v| 亚洲一区自拍偷拍| xvideos.蜜桃一区二区| 亚洲精品成人自拍| 91色九色蝌蚪| 久久精品国产99久久6| 国产午夜精品一区二区| 日本乱人伦aⅴ精品| 国产精品免费观看高清| 精品一区二区综合| 一区二区视频在线看| 日韩欧美一区在线观看| 在线区一区二视频| 狠狠色噜噜狠狠狠狠色吗综合| 国产美女在线精品| 亚洲成人免费视| 亚洲国产精品ⅴa在线观看| 欧美在线观看你懂的| 久久综合九色欧美狠狠| 成人教育av在线| 麻豆精品一区二区综合av| 国产精品久久久99| 日韩欧美成人激情| 91国偷自产一区二区开放时间 | 欧美性猛交xxxxxxxx| 欧美不卡三区| 99精彩视频| 国产69精品久久久久777| 久久精品国产在热久久| 亚洲综合色婷婷| 中文字幕不卡在线| 欧美精品一区二区三区视频| 欧美日韩精品三区| 永久久久久久| 久久国产精品精品国产色婷婷| 成人夜色视频网站在线观看| 奇米色一区二区| 亚洲国产成人精品视频| 中文字幕永久在线不卡| 久久亚洲捆绑美女| 精品区一区二区| 欧美高清一级片在线|