PCI驅動學習總結-國嵌視頻

1、國嵌視頻 5.6.1節 PCI總線
   http://www.iqiyi.com/w_19rrd5x7ql.html
1)PCI總線依賴PCI橋才能產生
2)只要掛到PCI總線上的都是PCI設備
   PCI橋,PCI-PCI橋,連接PCI總線的也是特殊的PCI設備。
3)PCI設備尋址
   每個PCI設備由一個總線號、設備號、和功能號組成。
   PCI規範允許一個系統最多擁有256條總線,每條總線最多帶32個設備,每個設備可以是最多
   8個功能的多功能板。

2、國嵌視頻 5.6.2節 PCI驅動程序設計
https://www.iqiyi.com/w_19rrd5x81d.html
1)調用 pcie_register_driver 時,就會遍歷PCI總線上所有的PCI設備,找到這個註冊的這個驅動能處理的設備,就會調用驅動的probe函數。 
也就是總線驅動模型的方式,從2.6內核版本開始。

2)怎麼match,進入probe函數的
通過ID匹配。廠家和設備ID。    
一個驅動可以對應多個ID,也就是可能可以處理多個廠家的設備。    

3)probe函數都做了什麼事情
  使能PCI設備 pci_enable_device
  獲取基地址  ioaddr = pci_resource_start  (基地址是物理地址)
  申請要使用的地址空間 pci_request_reglons
  獲取中斷號
  進行ioremap 物理地址映射成虛擬地址 ioaddr=(long)ioremap(ioaddr,0x400);         

  probe函數還可以完成對應功能驅動的初始化。初始化pci-dev設備結構體。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章