版块
论坛
喜欢
话题
应用
搜索
登录
注册
terrace的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=75071
请问如何对pci设备上得IO端口操作?
我给一pci设备写个驱动,已经能访问该设备的pci配置头空间。该设备的基地址IOBaseAddr存于配置头空间的0x10(偏移量)处。并且该设备还有几个IO端口(相对于基地址IOBaseAddr的偏移量分别为 0x0,0x2,0x4,0x8).请问如何对这些IO端口映射进行读写操...
全文
回复
(
10
)
2004-03-03 14:49
来自版块 -
LINUX&UNIX核心开发
◆
◆
表情
告诉我的粉丝
提 交
Forest_Leo
:
IOAddressBase 0, 1 使用ioremap, 然后直接读写内存 IOAddressBase 2 使用inl, outl 问几个弱弱的问题,还请不吝赐教,现行谢过!! 1.直接内存读写什么意识,是不是ioremap后,memcpy,就相当于操作借口芯片...
(2004-05-02 17:49)
回复
enLinux
:
IOAddressBase 0, 1 使用ioremap, 然后直接读写内存 IOAddressBase 2 使用inl, outl
(2004-04-30 10:57)
回复
boblai
:
[quote][quote]我给一pci设备写个驱动,已经能访问该设备的pci配置头空间。该设备的基地址IOBaseAddr存于配置头空间的0x10(偏移量)处。并且该设备还有几个IO端口(相对于基地址IOBaseAddr的偏移量分别为 0x0,0x2,0x4,0x8).请问如何...
(2004-04-29 10:22)
回复
rainyss
:
你应该到PCI.C里去找答案,其实花不了你半小时你就能搞懂,LINUX继承了UNIX的简单内核结构,没有WINDOWS那么复杂的,很容易看懂,关键是你必须对内核的工作机制有所了解.LINUX里面大量采用回调机制(就是注释里常提到的call-back).如果不对系统有一定深度的认识...
(2004-04-11 11:48)
回复
terrace
:
嘻嘻,我是经过高手指点才知道的! maomaoxiong 的意见(得到IOBaseAddr后,用io1=(IOBaseAddr+0x0), io2=(IOBaseAddr+0x2),然后就可以用inb(io1),outb(io2)等操作了 )不完整,应当先(一般是在初始化时...
(2004-04-09 15:26)
回复
highwaylost
:
郁闷!!说的不对题!!只是对配置空间的读写!!! 下次得谨慎回答!!!!!!!!!!
(2004-04-05 15:36)
回复
highwaylost
:
利用地址寄存器0xCF8和数据寄存器0xCFC进行吧!! 先向地址寄存器写入目标地址(包括总线号,设备号,功能号及配置寄存器地址的综合地址),然后通过数据寄存器读写!!!!
(2004-04-05 09:01)
回复
unix1998
:
[quote]我给一pci设备写个驱动,已经能访问该设备的pci配置头空间。该设备的基地址IOBaseAddr存于配置头空间的0x10(偏移量)处。并且该设备还有几个IO端口(相对于基地址IOBaseAddr的偏移量分别为 0x0,0x2,0x4,0x8).请问如何对这些IO端口...
(2004-04-04 19:47)
回复
maomaoxiong
:
我给一pci设备写个驱动,已经能访问该设备的pci配置头空间。该设备的基地址IOBaseAddr存于配置头空间的0x10(偏移量)处。并且该设备还有几个IO端口(相对于基地址IOBaseAddr的偏移量分别为 0x0,0x2,0x4,0x8).请问如何对这些IO端口映射进行读写操...
(2004-04-03 11:36)
回复
Forest_Leo
:
俺也想知道,我发现这样基础的东东总是没人回答呀,是不是大家都从初学的时候过来过,现在也让俺们体验一下这种痛苦呀!! 如果是ISA的,我写个数据就直接outb了,可是PCI到底要怎么做呢,比如我一个PCI卡上有3个算法芯片,每个芯片可以实现一定的算法,我如何发控制命令和数据到...
(2004-04-01 17:21)
回复
terrace
加关注
写私信
0
关注
0
粉丝
47
帖子
返回顶部