PCI驱动学习总结-国嵌视频
1、國(guó)嵌視頻 5.6.1節(jié) PCI總線(xiàn)
? ?http://www.iqiyi.com/w_19rrd5x7ql.html
1)PCI總線(xiàn)依賴(lài)PCI橋才能產(chǎn)生
2)只要掛到PCI總線(xiàn)上的都是PCI設(shè)備
? ?PCI橋,PCI-PCI橋,連接PCI總線(xiàn)的也是特殊的PCI設(shè)備。
3)PCI設(shè)備尋址
? ?每個(gè)PCI設(shè)備由一個(gè)總線(xiàn)號(hào)、設(shè)備號(hào)、和功能號(hào)組成。
? ?PCI規(guī)范允許一個(gè)系統(tǒng)最多擁有256條總線(xiàn),每條總線(xiàn)最多帶32個(gè)設(shè)備,每個(gè)設(shè)備可以是最多
? ?8個(gè)功能的多功能板。
2、國(guó)嵌視頻 5.6.2節(jié) PCI驅(qū)動(dòng)程序設(shè)計(jì)
https://www.iqiyi.com/w_19rrd5x81d.html
1)調(diào)用 pcie_register_driver 時(shí),就會(huì)遍歷PCI總線(xiàn)上所有的PCI設(shè)備,找到這個(gè)注冊(cè)的這個(gè)驅(qū)動(dòng)能處理的設(shè)備,就會(huì)調(diào)用驅(qū)動(dòng)的probe函數(shù)。?
也就是總線(xiàn)驅(qū)動(dòng)模型的方式,從2.6內(nèi)核版本開(kāi)始。
2)怎么match,進(jìn)入probe函數(shù)的
通過(guò)ID匹配。廠(chǎng)家和設(shè)備ID。?? ?
一個(gè)驅(qū)動(dòng)可以對(duì)應(yīng)多個(gè)ID,也就是可能可以處理多個(gè)廠(chǎng)家的設(shè)備。?? ?
3)probe函數(shù)都做了什么事情
? 使能PCI設(shè)備 pci_enable_device
? 獲取基地址 ?ioaddr = pci_resource_start ?(基地址是物理地址)
? 申請(qǐng)要使用的地址空間 pci_request_reglons
? 獲取中斷號(hào)
? 進(jìn)行ioremap 物理地址映射成虛擬地址 ioaddr=(long)ioremap(ioaddr,0x400);?? ? ?? ?
? probe函數(shù)還可以完成對(duì)應(yīng)功能驅(qū)動(dòng)的初始化。初始化pci-dev設(shè)備結(jié)構(gòu)體。
總結(jié)
以上是生活随笔為你收集整理的PCI驱动学习总结-国嵌视频的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAP 外币评估
- 下一篇: Qt4 Qt5 通用设置应用软件图标 快