亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4282 | 回復: 6
打印 上一主題 下一主題

如何訪問PCI設備 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-07-27 15:22 |只看該作者 |倒序瀏覽
本人最近正在做一個嵌入式項目,需要把一塊板子作為PCI設備插入PC機的PCI插槽。
現(xiàn)PCI驅(qū)動已有(這方面不懂,不是非常確定),但不知道怎么與PCI設備通信。
請問:
因為我要修改PCI的配置空間里面的寄存器,請問如何訪問?我發(fā)現(xiàn)在proc.c里面有這樣一個和其他驅(qū)動一樣的file_operations結(jié)構

  1. static struct file_operations proc_bus_pci_operations = {
  2.         llseek:                proc_bus_pci_lseek,
  3.         read:                proc_bus_pci_read,
  4.         write:                proc_bus_pci_write,
  5.         ioctl:                proc_bus_pci_ioctl,
  6. #ifdef HAVE_PCI_MMAP
  7.         open:                proc_bus_pci_open,
  8.         release:        proc_bus_pci_release,
  9.         mmap:                proc_bus_pci_mmap,
  10. #ifdef HAVE_ARCH_PCI_GET_UNMAPPED_AREA
  11.         get_unmapped_area: get_pci_unmapped_area,
  12. #endif /* HAVE_ARCH_PCI_GET_UNMAPPED_AREA */
  13. #endif /* HAVE_PCI_MMAP */
  14. };
復制代碼
請問是打開哪個設備呢?打開之后是不是就像其他驅(qū)動一樣,read/write就行了呢

論壇徽章:
0
2 [報告]
發(fā)表于 2010-07-28 10:06 |只看該作者
沒人知道嗎 還是問題太簡單 不屑于回答啊 幫幫忙啊

論壇徽章:
0
3 [報告]
發(fā)表于 2010-08-27 22:11 |只看該作者
不知道,只能幫頂

論壇徽章:
4
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09IT運維版塊每日發(fā)帖之星
日期:2015-09-14 06:20:0015-16賽季CBA聯(lián)賽之深圳
日期:2016-01-16 16:34:21
4 [報告]
發(fā)表于 2010-08-30 18:10 |只看該作者
比較奇怪這行
  1. static struct file_operations proc_bus_pci_operations = {
復制代碼
的最后為什么有一個等號。

結(jié)構體里應該是這樣:
int abc;
而不是這樣:
read:                proc_bus_pci_read,

樓主能編譯通過嗎?

論壇徽章:
0
5 [報告]
發(fā)表于 2010-09-04 14:45 |只看該作者
回復 4# getsmartboy


這段代碼是我從內(nèi)核的驅(qū)動里找到的,我沒有自己去編譯它。
不過我通過內(nèi)核配置已經(jīng)打開了PCI功能,這應該說明這部分代碼沒有問題的吧?
大蝦不必糾結(jié)于這個細節(jié),能不能給小弟指點一下PCI訪問設備的流程和原理呢,感激不盡啊,項目到現(xiàn)在沒有任何進展啊

論壇徽章:
4
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09IT運維版塊每日發(fā)帖之星
日期:2015-09-14 06:20:0015-16賽季CBA聯(lián)賽之深圳
日期:2016-01-16 16:34:21
6 [報告]
發(fā)表于 2010-09-04 19:46 |只看該作者

論壇徽章:
0
7 [報告]
發(fā)表于 2010-09-05 20:02 |只看該作者
回復 6# getsmartboy


多謝您提供的帖子,我現(xiàn)在清楚了一些大體流程,不過我還有一些疑問:
1.假設如[url=http://qgjie456.blog.163.com/blog/static/3545136720087533552530/][/url]所說,那掃描PCI總線時應該至少有兩個設備,一個是FPGA,一個是橋本身,那讀配置空間是應該讀哪個的呢?
    如果是讀FPGA的話那PCI橋是怎樣轉(zhuǎn)換的呢?
    如果是讀PCI橋的話,如何將FPGA的地址空間轉(zhuǎn)換到PC機呢?

2.如果把上一個例子的FPGA換成一塊ARM板,上面跑著Linux,里面程序看見的都是虛擬地址,那如何將Linux的虛擬地址空間轉(zhuǎn)換到PC機的虛擬地址空間來呢?

還望您再指點指點
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP