楼 主
DOS下如何通过C语言编写程序控制PCI读写?
发表于 2006-10-13 01:49 · 中国 辽宁 大连 中移铁通
新手上路
★
积分 4
发帖 1
注册 2006-10-12 22:50
19年会员
UID 65512
性别 男
状态 离线
DOS下如何通过C语言编写程序控制PCI读写?期望各位大侠给个参考程序,谢谢!
第 2 楼
发表于 2006-11-09 02:36 · 中国 浙江 杭州 华数宽带
新手上路
★
积分 10
发帖 3
注册 2006-11-09 02:12
19年会员
UID 70076
性别 男
来自 zj
状态 离线
都是通过地址映射方式操作的,原先的ISA总线,都是以地址-数据方式操作,PCI类似,将PCI设备的基地址映射到1M内存范围内(C编译器可访问的内存区域),通过读写该基地址及其偏移量就可访问PCI设备内部资源。
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| redtek |
+2 |
2006-11-09 02:39 |
第 3 楼
发表于 2006-11-09 22:11 · 中国 河北 石家庄 电信
初级用户
★
积分 98
发帖 34
注册 2006-11-03 02:31
19年会员
UID 69366
性别 男
状态 离线
可以使用PCI BIOS
PCI BIOS的中断号是1Ah,AH为B1,AL为功能号。其功能列表为:
01h: INSTALLATION CHECK
02h: FIND PCI DEVICE
03h: FIND PCI CLASS CODE
06h: PCI BUS-SPECIFIC OPERATIONS
08h: READ CONFIGURATION BYTE
09h: READ CONFIGURATION WORD
0Ah: READ CONFIGURATION DWORD
0Bh: WRITE CONFIGURATION BYTE
0Ch: WRITE CONFIGURATION WORD
0Dh: WRITE CONFIGURATION DWORD
0Eh: GET IRQ ROUTING INFORMATION
0Fh: SET PCI IRQ
81h: INSTALLATION CHECK (32-bit)
82h: FIND PCI DEVICE (32-bit)
83h: FIND PCI CLASS CODE (32-bit)
86h: PCI BUS-SPECIFIC OPERATIONS (32-bit)
88h: READ CONFIGURATION BYTE (32-bit)
89h: READ CONFIGURATION WORD (32-bit)
8Ah: READ CONFIGURATION DWORD (32-bit)
8Bh: WRITE CONFIGURATION BYTE (32-bit)
8Ch: WRITE CONFIGURATION WORD (32-bit)
8Dh: WRITE CONFIGURATION DWORD (32-bit)
8Eh: GET IRQ ROUTING INFORMATION (32-bit)
8Fh: SET PCI IRQ (32-bit)
另外还可通过访问CF8h、CFCh端口来实现
论坛跳转: