中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » DOS下如何通过C语言编写程序控制PCI读写?
作者:
标题: DOS下如何通过C语言编写程序控制PCI读写? 上一主题 | 下一主题
jirow
新手上路





积分 4
发帖 1
注册 2006-10-12
状态 离线
『楼 主』:  DOS下如何通过C语言编写程序控制PCI读写?

DOS下如何通过C语言编写程序控制PCI读写?期望各位大侠给个参考程序,谢谢!

2006-10-13 01:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
howardxuhh
新手上路





积分 10
发帖 3
注册 2006-11-9
来自 zj
状态 离线
『第 2 楼』:  

都是通过地址映射方式操作的,原先的ISA总线,都是以地址-数据方式操作,PCI类似,将PCI设备的基地址映射到1M内存范围内(C编译器可访问的内存区域),通过读写该基地址及其偏移量就可访问PCI设备内部资源。

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-9 02:39


2006-11-9 02:36
查看资料  发送邮件  发短消息 网志  OICQ (11549452)  编辑帖子  回复  引用回复
dsysps
初级用户





积分 98
发帖 34
注册 2006-11-3
状态 离线
『第 3 楼』:  

可以使用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端口来实现

2006-11-9 22:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: