linux卸载pci驱动,linux的PCI驱动固件问题

wucongdonglai 于 2011-01-10 13:36:36发表:

9# shenhao0129

数电还真不怎么学单片机,单片机一般都是放在微机原理里面讲的

deepwhite 于 2011-01-10 13:01:37发表:

看代码吧。

wucongdonglai 于 2011-01-10 08:45:45发表:

7# naruto01

这个应用我知道的,位的与或反么!就是具体的对应看不懂啊

wucongdonglai 于 2011-01-10 08:44:05发表:

9# shenhao0129

数电里面没有涉及这个啊,就一些简单的计时器之类的东西啊

wucongdonglai 于 2011-01-10 08:42:51发表:

5# deepwhite

就是看了名字才想不通啊,比如PCI_COMMAND 总共也就16位,冒出这个:

define PCI_COMMAND_VGA_PALETTE 0x20 /* Enable palette snooping */

#define PCI_COMMAND_PARITY 0x40 /* Enable parity checking */

#define PCI_COMMAND_WAIT 0x80 /* Enable address/data stepping */

#define PCI_COMMAND_SERR 0x100 /* Enable SERR */

#define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */

#define PCI_COMMAND_INTX_DISABLE 0x400 /* INTx Emulation Disable */

怎么对应都对应不上啊?所以就纳闷了

naruto01 于 2011-01-07 17:27:21发表:

5# deepwhite

0x04应该表示命令寄存器大小是4个字节吧

naruto01 于 2011-01-07 17:20:24发表:

[i=s] 本帖最后由 naruto01 于 2011-1-7 19:33 编辑 [/i]

应该是对不同的位置位。 不同的位定义有相关的意义,那个功能就是后面注释给出来的啦

0x01 0x02 0x04 .. 转换成二进制,不就很显然了么? 一种方法,好多地方都用到。

如果要开启好几个功能,位或'|'来实现啦

deepwhite 于 2011-01-07 16:30:39发表:

仔细看看 define 定义的这些常量的名字,从名字中也能猜出来了。

deepwhite 于 2011-01-07 16:29:27发表:

[code]

#define PCI_VENDOR_ID 0x00 /* 16 bits */

#define PCI_DEVICE_ID 0x02 /* 16 bits */

#define PCI_COMMAND 0x04 /* 16 bits */

#define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */

#define PCI_COMMAND_MEMORY 0x2 /* Enable response in Memory space */

#define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */

[/code]后面的 0x1, 0x2, 0x4 等等,是PCI_COMMAND 的 subcode, 也就是详细的解释 PCI_COMMAND 这16个 bit 中的每一个 bit 的定义。

至于后面的 0x200 之类的,应该是一些特定的拓展或者掩码之类的功能。

你没必要完全掌握,用到的时候再查找就可以了。

Linux_zhanzhi 于 2011-01-07 15:19:32发表:

学硬件有啥经典教材不

wucongdonglai 于 2011-01-07 14:53:26发表:

2# shenhao0129

硬件还真没怎么学过,学过数电模电,但是对这个好像没啥用啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值