首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

wince驱动的初始化探测部分,该怎么解决

2012-04-23 
wince驱动的初始化探测部分最近接触了wince驱动开发,分析了一下网卡驱动,发现其无论是IO基地址,中断号,还

wince驱动的初始化探测部分
最近接触了wince驱动开发,分析了一下网卡驱动,发现其无论是IO基地址,中断号,还是其他硬件信息都是从注册表中读取出来的。
1 难道这是获取硬件信息的唯一方式么???
2 如果是这样的话,我们在驱动开发之前就得将硬件信息填写到注册表中去???

想Linux中所有设备都是依附到总线上面的(wince肯定也是这样),但是Linux中的硬件信息都是通过总线依赖的一些探测函数,或者访问函数(比如PCI配置空间的访问函数)来获取硬件信息的,或者说基本上都是动态获取这些参数的。

3 难道在驱动的硬件探测和初始化阶段 Linux 和 Wince有如此大的差别么???

[解决办法]
1. PCI, USB, SDIO 等 BUS 都有支援 PNP(Plug and Play), 所以 BUS driver 有能力動態分配, ISA bus 不支援 PNP, 所以必須將解碼位址寫死.
2. ne2000, dm9000 & cs8900 都是 ISA bus 的 chip, 所以必須將 H/W 解碼位址寫定, WINCE 中是寫在 registry, driver 起動時再去讀, Linux 我不熟, 但也一定是在 S/W 中寫定的, LZ 不可以拿 PCI bus chip 與 ISA bus chip 比較.

Paul, Chao @ Techware

热点排行