<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > usb總線驅(qū)動粗略過程(OHCI協(xié)議)

          usb總線驅(qū)動粗略過程(OHCI協(xié)議)

          作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
          usb總線驅(qū)動分類:
          UHCI: intel公司制作 適用于低速/全速設(shè)備
          OHCI:microsoft 適用于低速/全速設(shè)備
          EHCI: 高速設(shè)備(48M)
          2410里面的usb總線驅(qū)動用的是OHCI_s3c2410
          usb總線驅(qū)動作用:
          1.識別設(shè)備
          2.找到并安裝對應(yīng)的設(shè)備驅(qū)動
          3.提供usb讀寫函數(shù)
          工作流程:
          1.識別usb設(shè)備(D+被拉高為1.1,D-被拉高為低速設(shè)備)
          2.分配地址,并告訴usb設(shè)備
          3.發(fā)出命令獲取描述符
          4.查找并安裝對應(yīng)的設(shè)備驅(qū)動程序。
          函數(shù)過程如下(可參考《linux源代碼情景分析一書》):
          hub_irq
          kick_khubd
          hub_port_connect_change{
          choose_address(udev)//分配地址,即編號
          udev=usb_alloc_dev(hdev,hdev->bus,portl);
          dev->dev.bus=&usb_bus_type;
          }
          hub_port_init{
          hub_set_address//把地址告訴usb設(shè)
          usb_get_device_descriptor//獲取描
          usb_parse_confriguation//獲取所有描 述符讀出來并且解析
          device_add//1.把設(shè)備放入(總線) usb_bus_type的鏈表 ,從bus的driver鏈表里取出driver 2.把usb_interface and usb_driver s id_able 比較
          3. 如果能夠匹配,調(diào)用driver的probe函數(shù)。


          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();